怎么修改文件呢?
我用vc写了以下代码,想修改文件内容,可是一运行就报错,说什么内存不能读,怎么解决?
- C/C++ code
#include "stdafx.h"#include <Windows.h>char* filepath="d:\\Test.exe";int main(int argc, char* argv[]){ HANDLE hFile = CreateFileA(filepath, GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); DWORD dwFileSize = GetFileSize(hFile, NULL); HANDLE hfile=::CreateFileMappingA( hFile,NULL,PAGE_READWRITE,0,0,NULL); LPVOID pData=MapViewOfFile(hfile,FILE_MAP_WRITE,0,0,0); char* data=(char*)pData; for(int i=0;i<(int)dwFileSize;++i) { char* temp=data+i; *temp=92; } UnmapViewOfFile(pData); CloseHandle(hfile); return 0;}
[解决办法]