0
ファイルが改行で終了するかどうかは、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'のようなものですか?さて、最初の2行の代わりに 'cfile.Seek(-2、CFile :: end);'を呼び出すのはなぜですか? – IInspectable
ああ、 'cfile.Seek(-2、CFile :: end);'も良い考えです。しかし、私はまだ同じ結果を得る。 Btw、私は 'CFile'を使っています。 – user3545752