当前位置: 首页 > news >正文

做网站与全网营销搜索推广排名优化网页设计规范

做网站与全网营销搜索推广排名优化,网页设计规范,seo查询优化方法,wordpress英文语言包在编程中,针对磁盘与目录的操作也是非常重要的,本章将重点介绍如何实现针对文件目录与磁盘的操作方法,其中包括了删除文件,文件拷贝,文件读写,目录遍历输出,遍历磁盘容量信息,磁盘格…

在编程中,针对磁盘与目录的操作也是非常重要的,本章将重点介绍如何实现针对文件目录与磁盘的操作方法,其中包括了删除文件,文件拷贝,文件读写,目录遍历输出,遍历磁盘容量信息,磁盘格式化,输出分区表数据,监控目录变化等。

11.1 ReadFile

ReadFile是一个文件读取函数,该函数可以将一个文件读入到特定的缓冲区内,在读取之前读者需要自行调用CreateFileA函数打开一个文件,首先来看一下打开文件的函数原型;

HANDLE CreateFileA(LPCSTR                lpFileName,DWORD                 dwDesiredAccess,DWORD                 dwShareMode,LPSECURITY_ATTRIBUTES lpSecurityAttributes,DWORD                 dwCreationDisposition,DWORD                 dwFlagsAndAttributes,HANDLE                hTemplateFile
);

函数创建或打开一个文件或输入输出(I/O)设备的函数。函数返回一个类型为 HANDLE 的文件句柄,该句柄可用于后续对文件的读写操作。如果文件创建成功,返回值是文件的句柄;如果函数失败,则返回值是 INVALID_HANDLE_VALUE(-1)

参数说明:

  • lpFileName:要打开的文件名或设备名,该参数可以是完整路径名、相对路径名或文件名和相对路径名的组合。
  • dwDesiredAccess:要求对文件进行的访问类型,如 GENERIC_READ 或 GENERIC_WRITE,也可以同时指定。
  • dwShareMode:其他进程访问该文件时的共享模式,如 FILE_SHARE_READ 或 FILE_SHARE_WRITE。
  • lpSecurityAttributes:一个指向 SECURITY_ATTRIBUTES 结构的指针,指定文件的安全属性。该参数可以为空,表示文件没有安全属性。
  • dwCreationDisposition:如何创建新的文件,如 CREATE_NEW 或 OPEN_ALWAYS。
  • dwFlagsAndAttributes:文件的属性和标志,如 FILE_ATTRIBUTE_NORMAL 或 FILE_FLAG_BACKUP_SEMANTICS。
  • hTemplateFile:文件句柄,该文件句柄必须是 GENERIC_READ 访问类型的文件。

接着是ReadFile函数的原型定义;

BOOL ReadFile(HANDLE       hFile,LPVOID       lpBuffer,DWORD        nNumberOfBytesToRead,LPDWORD      lpNumberOfBytesRead,LPOVERLAPPED lpOverlapped
);

参数说明:

  • hFile: 要读取的文件句柄

  • lpBuffer: 指向用于存储读取数据的缓冲区的指针

  • nNumberOfBytesToRead: 要读取的字节数

  • lpNumberOfBytesRead: 返回实际读取的字节数的指针

  • lpOverlapped: 指定了异步读取的选项。如果想要同步读取,该参数可以为NULL。

该函数如果函数成功读取,则返回非零值,lpNumberOfBytesRead指向的变量将被设置为实际读取的字节数,如果函数失败,则返回零。要获取扩展错误信息,可调用GetLastError()函数。

#include <iostream>
#include <Windows.h>int main(int argc, char* argv[])
{HANDLE hFile;DWORD fileSize, readSize;char* buffer;hFile = CreateFile("d:\\lyshark.exe",      // 文件名GENERIC_READ,           // 读取权限0,                      // 阻止其他进程访问NULL,                   // 子进程不可继承本句柄OPEN_EXISTING,          // 仅当该文件或设备存在时,打开它FILE_ATTRIBUTE_NORMAL,  // 普通文件NULL);                  // 不适用模板文件if (hFile == INVALID_HANDLE_VALUE){return 0;}fileSize = GetFileSize(hFile, NULL);  // 获取文件大小buffer = (char*)malloc(fileSize + 1); // 获取一块内存buffer[fileSize] = '\0';              // 设置结尾ReadFile(hFile,      // 文件句柄buffer,     // 读取到的文件所存放的缓冲区fileSize,   // 要读取的字节数&readSize,  // 实际读取的字节数NULL        // 用 FILE_FLAG_OVERLAPPED 打开时所需的);printf(buffer);CloseHandle(hFile);free(buffer);system("pause");return 0;
}

11.2 CopyFile

CopyFile 函数,用于将一个文件从一个位置复制到另一个位置,该函数原型为:

BOOL CopyFile(LPCWSTR lpExistingFileName,LPCWSTR lpNewFileName,BOOL    bFailIfExists
);

其中,lpExistingFileName 表示要复制的文件名,lpNewFileName 表示复制后的新文件名,bFailIfExists 表示如果新文件名已经存在是否覆盖。如果成功复制文件,则返回非零值。如果失败,则返回零。

#include <iostream>
#include <Windows.h>// 判断是否为目录
BOOL isDirectory(char* path)
{WIN32_FIND_DATA fd;BOOL rel = FALSE;char* p = path;// 查找到第一个文件的句柄HANDLE hFind = FindFirstFile(path, &fd);while (*p != '\0') p++;// 如果结尾是这两种符号就肯定是目录if (*(--p) == '\\' || *(p) == ' / '){*p = '\0';return TRUE;}// 判断是否获取错误if (hFind != INVALID_HANDLE_VALUE){// 文件信息按位与上目录属性, 非目录则全部置零if (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){rel = TRUE;}// 关闭查找句柄FindClose(hFind);}return rel;
}int main(int argc, char* argv[])
{char file_src[MAX_PATH] = { 0 };char file_dest[MAX_PATH] = { 0 };strcpy(file_src, "d://lyshark.exe");strcpy(file_dest, "d://");if (isDirectory(file_dest)){// 如果第二个参数是目录,则拼装新的文件路径sprintf(file_dest, "%s\\%s", file_dest, file_src);}if (CopyFile(file_src, file_dest, 0) == 0){printf("文件复制失败 \n");}else{printf("文件已复制 \n");}system("pause");return 0;
}

11.3 MoveFile

MoveFile 函数,用于将文件从一个位置移动到另一个位置,该函数可以用于重命名文件或将文件从一个目录移动到另一个目录。如果要在同一目录中重命名文件,可以将文件的新名称作为 lpNewFileName 参数提供,而 lpExistingFileName 参数应保持不变。如果要移动文件到另一个目录,可以提供新目录的路径和名称作为 lpNewFileName参数,该函数原型如下所示;

BOOL MoveFile(LPCTSTR lpExistingFileName,LPCTSTR lpNewFileName
);

其中,lpExistingFileName 是要移动的文件的完整路径和名称,lpNewFileName 是文件的新路径和名称。如果文件成功移动,则函数返回非零值,否则返回零,读者需要注意,该函数只能移动文件,无法移动文件夹。如果要移动文件夹,可以使用 MoveFileEx() 函数。

#include <iostream>
#include <Windows.h>// 判断是否为目录
BOOL isDirectory(char* path)
{WIN32_FIND_DATA fd;BOOL rel = FALSE;char* p = path;// 查找到第一个文件的句柄HANDLE hFind = FindFirstFile(path, &fd);while (*p != '\0') p++;// 如果结尾是这两种符号就肯定是目录if (*(--p) == '\\' || *(p) == ' / '){*p = '\0';return TRUE;}// 判断是否获取错误if (hFind != INVALID_HANDLE_VALUE){// 文件信息按位与上目录属性, 非目录则全部置零if (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){rel = TRUE;}// 关闭查找句柄FindClose(hFind);}return rel;
}int main(int argc, char* argv[])
{char file_src[MAX_PATH] = { 0 };char file_dest[MAX_PATH] = { 0 };strcpy(file_src, "d://lyshark.exe");strcpy(file_dest, "d://lyshark");if (isDirectory(file_dest)){// 如果第二个参数是目录, 则拼装新的文件路径sprintf(file_dest, "%s\%s", file_dest, file_src);}if (MoveFile(file_src, file_dest) == 0){printf("文件剪切失败 \n");}else{printf("文件剪切成功 \n");}system("pause");return 0;
}

11.4 DelteFile

DeleteFile 函数用于删除指定的文件,该函数位于windows.h头文件中,此函数只能用于删除文件而无法删除目录,如果需要删除目录则需要使用RemoveDirectory来实现,该函数原型如下:

BOOL DeleteFile(
LPCTSTR lpFileName
);

其中,lpFileName 参数是一个指向以 NULL 结尾的字符串,表示要删除的文件名,可以是绝对路径或相对路径,函数执行成功时返回 TRUE,否则返回 FALSE,如果删除失败则可以调用GetLastError()得到失败代码。

#include <iostream>
#include <Windows.h>int main(int argc, const char* argv[])
{// 如果非零则删除失败if (!DeleteFile("d://lyshark.exe")){printf("删除文件错误:%x \n", GetLastError());}system("pause");return 0;
}
http://www.dinnco.com/news/13975.html

相关文章:

  • 免费建站网站一级大陆在线看泰州seo网络公司
  • 做网站一些专业术语百度网络营销中心客服电话
  • 网站制作难点google搜索优化
  • 网站开发多少钱农民网上推广怎么做
  • 东莞网站建设优化东莞想要网站推广版
  • 巩义网站建设方案表福州百度代理
  • 河北省住房建设厅政务网站建站平台哪个比较权威
  • php动态网站开发基本流程站点查询
  • 搭建一个简单的网站关键词林俊杰百度云
  • 代制作网站找小网站的关键词
  • 网站建设 中企动力南昌谷歌搜索排名规则
  • 亚洲尺码与欧洲尺码区别西安网站seo服务
  • 公众号微网站制作国内疫情最新消息
  • 做国外网站 国外人能看到吗网络营销的特点主要包括什么
  • 做网站服务器空间福州seo推广优化
  • 西安国际网站设计十大引擎网址
  • 商务网站的特点软文有哪些推广渠道
  • 网站开发实践最近的热点新闻
  • 网站操作可行性分析如何网络推广
  • frontpage网站模板下载关键词推广计划
  • ps怎么做网站导航内嵌式百姓网
  • 网站制作 流程最新热点新闻事件素材
  • wordpress 版面优化站点
  • 360网站seo如何做线上推广有哪些渠道
  • 怎么用lofter做网站自助建站网
  • 常见的电子商务网站有北京seo业务员
  • 那个网站可以做司考真题枣庄网络推广seo
  • java网站开发的底层语言是广州网络推广
  • 手机网站制作方案好看的友情链接代码
  • 装饰公司怎么找客户seo自学网免费