CFile
을 사용하여 파일이 줄 바꿈으로 끝났는지 여부를 확인해야합니다. 내가 시도하는 것 : 2 개 단위로 다시 포인터를 이동 CFile로 줄 바꿈 (개행 문자) 확인
- 포인트는
- 체크 포인터가 여기에
\r\n
가리키는 경우 내 코드 :
cfile.SeekToEnd();
cfile.Seek(-2, CFile::current);
char buffer[2];
cfile.Read(buffer, 2);
if(buffer[0] == '\r' && buffer[1] == '\n') printf("Ended with line break!");
else printf("Not ended with line break!");
그러나 내가 발견 한 것은 버퍼가 나 \n
문자와 가비지 문자 (204와 같은 별난 값).
, 캐리지 리턴 줄 바꿈 쌍을 단일 문자로 계산됩니다 : 문서를 통해 몇 가지 조사 후, 나는
CFile::Read
는 하나의 문자로\r\n
를 계산 것을 발견했다.
파일 포인터가 분명히 여전히 2 문자를 계산하지만 나는 둘 다 얻을 수 없기 때문에 나는 혼란 스럽다. CFile을 사용하여 파일 끝에 줄 바꿈을 검사하는 방법이 있습니까?
우리는'cfile'이 어떤 타입인지 모릅니다. 그것은'CFile' 또는 그것 (CStdioFile'처럼)에서 파생 된 것입니까? 제쳐두고, 첫 번째 두 줄 대신'cfile.Seek (-2, CFile :: end); '를 호출하지 않는 이유는 무엇입니까? – IInspectable
아,'cfile.Seek (-2, CFile :: end);'도 좋습니다. 그러나 나는 여전히 같은 결과를 얻는다. Btw, 나는 CFile을 사용하고있다. – user3545752