2012-09-27 3 views
1
CFile file; 

CFileException fe; 

if (file.Open(strPath, CFile::modeCreate | CFile::modeReadWrite | CFile::typeBinary, &fe)) 
{ 
} 

이 방법은 작동하지 않습니다. strPath에서 제공하는 파일 경로가 이미 있지만이 파일을 열지 않고 오류 코드 5와 함께 반환됩니다. CFile::modeCreate 플래그를 제거하면 파일이 잘 열립니다. 문서에 의하면 파일이 이미 존재하는 경우 'CFile :: modeCreate'는 자체에 첨부하고 자르면 0으로 표시되지만 실제로는 파일을 열지 않습니다. 내 전화에 문제가 있습니까?CFile :: modeCreate가 보급대로 작동하지 않습니다.

답변

1

이 문제가 해결되었습니다. 문제는 파일에 'ready only'속성이 설정되어 있다는 것입니다. 나는 그것을 열기 전에 정상으로 바꿨다.

SetFileAttributes(strPath, FILE_ATTRIBUTE_NORMAL); 
관련 문제