-1
我正在嘗試用c和visual studio將字符串寫入映射文件。用字符串將映射文件寫入字符串
(pFile = (char *) MapViewOfFile(hMMap,FILE_MAP_ALL_ACCESS,0,0,0))
start = pFile;
while(pFile < start + 750){
*(pFile++) = ' ';
*(pFile++) = 'D';
*(pFile++) = 'N';
*(pFile++) = 'C';
*(pFile++) = 'L';
*(pFile++) = 'D';
*(pFile++) = ' ';
if(!((pFile - start) % 50))
*(pFile++) = 10;
else
*(pFile++) = ',';
}
如果我寫這樣的事情,我可以寫得很好。但我想寫一個字符串這個文件。我能怎麼做?我曾嘗試
sprintf(toFile, "A message of %3d bytes is received and decrypted.\n", strlen(message));
WriteFile(pFile,toFile,strlen(toFile),&bytesWritten,NULL);
這個媒體鏈接...
當您嘗試第二個代碼段時發生了什麼?您是否調用了['GetLastError'](http://msdn.microsoft.com/zh-cn/library/windows/desktop/ms679360.aspx)來查看出了什麼問題? – 2011-12-17 11:44:46
沒有錯誤,但它只寫入一個字符文件... – 2011-12-17 11:48:42
你只是想寫一些內存。爲此使用'memcpy'。 'WriteFile'是完全錯誤的。當你有文件句柄時使用它。用內存映射文件你有一個指向內存的指針。如果你想使用'WriteFile',你只需使用'CreateFile'而不用打擾內存映射。也許這真的是你需要做的。 – 2011-12-17 16:16:59