写入文件
void WriteFile(const char* szFileName)
{
HANDLE hFile;
hFile = CreateFile(szFileName,GENERIC_WRITE | GENERIC_READ,FILE_SHARE_READ,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);if(hFile == INVALID_HANDLE_VALUE){MessageBox(hwnd, TEXT("Save file fail!"), TEXT("ERROR"), MB_OK);return;}char filetype[] = "[MSPAINT]";DWORD nWrite;int i;WriteFile(hFile, filetype, strlen(filetype), &nWrite, NULL);WriteFile(hFile, &g_iCount, sizeof(g_iCount), &nWrite, NULL);for(i = 0; i < g_iCount; i++){WriteFile(hFile, &g_DataStore[i], sizeof(g_DataStore), &nWrite, NULL);}CloseHandle(hFile);
}
void FileRead(const char* szFileName)
{
HANDLE hFile;hFile = CreateFile(szFileName,
GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if(hFile == INVALID_HANDLE_VALUE)
{
MessageBox(hwnd, TEXT("Open file fail!"), TEXT("ERROR"), MB_OK);
return;
}
char buffer[10] = {0};DWORD nRead;int i;//读取并判断文件头是否合法ReadFile(hFile, buffer, 9, &nRead, NULL);if(strcmp(buffer, "[MSPAINT]") != 0){MessageBox(hwnd, TEXT("The file is not MSPaint file!"), TEXT("ERROR"), MB_OK);return;}ReadFile(hFile, &g_iCount, sizeof(g_iCount), &nRead, NULL);for(i = 0; i < g_iCount; i++){ReadFile(hFile, &g_DataStore[i], sizeof(g_DataStore), &nRead, NULL);}
CloseHandle(hFile);
}