win32文件的保存与读取
时间: 2024-06-11 17:10:18 浏览: 81
Win32是Windows操作系统的API(Application Programming Interface)之一,提供了许多文件操作的函数,包括文件的保存和读取。
文件的保存:
1. 打开文件:使用CreateFile函数创建或打开一个文件。
HANDLE hFile = CreateFile(szFileName, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
其中,szFileName是文件名,GENERIC_WRITE表示要写入文件,CREATE_ALWAYS表示如果文件不存在则创建文件,如果文件存在则将其覆盖。其他参数可根据需要自行设置。
2. 写入数据:使用WriteFile函数向文件中写入数据。
DWORD dwBytesWritten = 0;
WriteFile(hFile, lpBuffer, dwBytesToWrite, &dwBytesWritten, NULL);
其中,lpBuffer是要写入的数据,dwBytesToWrite是写入数据的字节数,dwBytesWritten是实际写入的字节数。如果写入成功,dwBytesWritten的值应该等于dwBytesToWrite。
3. 关闭文件:使用CloseHandle函数关闭文件句柄。
CloseHandle(hFile);
文件的读取:
1. 打开文件:使用CreateFile函数创建或打开一个文件。
HANDLE hFile = CreateFile(szFileName, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
其中,GENERIC_READ表示要读取文件,OPEN_EXISTING表示只打开已经存在的文件,如果文件不存在则打开失败。其他参数可根据需要自行设置。
2. 读取数据:使用ReadFile函数从文件中读取数据。
DWORD dwBytesRead = 0;
ReadFile(hFile, lpBuffer, dwBytesToRead, &dwBytesRead, NULL);
其中,lpBuffer是读取数据的缓冲区,dwBytesToRead是要读取的字节数,dwBytesRead是实际读取的字节数。如果读取成功,dwBytesRead的值应该等于dwBytesToRead。
3. 关闭文件:使用CloseHandle函数关闭文件句柄。
CloseHandle(hFile);
需要注意的是,文件操作涉及到文件的读写权限,如果没有权限则会操作失败。另外,文件操作涉及到文件的路径,需要注意路径的正确性。
阅读全文