0
我試圖通過ATL應用程序寫入一些行到一個txt文件中的txt文件。以下是我使用的代碼片段:寫使用Windows API
HANDLE hFile = CreateFile(ofn.lpstrFile,
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
DWORD dwBytesWritten = 0;
std::list<CString> helpList;
std::list<CString>::iterator it;
helpList.push_back(L"First Line\r\n");
helpList.push_back(L"Second Line");
for(it=helpList.begin(); it!=helpList.end(); ++it)
WriteFile(hFile, (*it).GetString(), (*it).GetLength(), &dwBytesWritten, NULL);
CloseHandle(hFile);
儘管一切正常,但最終沒有任何內容寫入文件。我應該在代碼中更改什麼?
是否檢查調用'CreateFile'真正獲得成功嗎?與WriteFile調用一樣嗎? – 2012-07-19 10:39:01
你用'CloseHandle(hFile)'寫完文件後關閉了文件句柄嗎? – xaizek 2012-07-19 10:42:11
dwShareMode =防止其他進程在請求刪除,讀取或寫入訪問時打開文件或設備。 假設已經存在的文件不應該被共享。 – hB0 2012-07-19 10:45:00