0
일부 줄을 ATL 응용 프로그램을 통해 txt 파일에 쓰려고합니다. 다음은 내가 사용하는 코드의 일부입니다 :Windows API를 사용하여 txt 파일에 쓰기
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' 호출과 동일합니까? –
'CloseHandle (hFile)'을 사용하여 파일 핸들을 작성한 후에 파일 핸들을 닫았습니까? – xaizek
dwShareMode = 삭제, 읽기 또는 쓰기 권한이있는 다른 프로세스가 파일이나 장치를 열지 못하도록합니다. 이미 존재하는 파일을 공유해서는 안된다고 가정합니다. – hB0