2012-01-28 15 views
3

Cプログラミングのcin.peek()に相当するものは何ですか?私は '/ r'と '/ r/n'のファイルをスキャンする必要があります(これらはDOSファイルの行末マーカーです)ので、現在の文字が '/ r 'C++に相当する。cin.peek()

ありがとうございます!

+2

"old DOS"だけでなく、最新のWindowsシステムでも行末マーカーです。 – Wyzard

+3

文字指向のプログラミングをしたいと思うなら、フォワードスラッシュとバックスラッシュの違いを理解したいと思います... –

答えて

1

、あなたは文字で、ファイルの文字を読み、ちょうど不要スキップ「\ R」および/または「\ n」のまたはそれらの任意の他の特別な処理を行うことができます。些細なステートマシンが役に立ちます。

0

試してみてください。

char c; 
FILE *fp; 
// opening file, etc. 
if((c = getc(fp)) == '\r') 
    ungetc(c, fp); 

か:あなたは、あなたが、それを格納するためのショートを使用することができますし、( "\ n個の\ rを" のような)2つの値を読み取るために必要がある場合

char c; 
FILE *fp; 
// opening file, etc. 
fread(&c, sizeof(char), 1, fp); 
if(c == '\r') 
{ 
    fseek(fp, -1L, SEEK_CUR); 
    fwrite(&c, sizeof(char), 1, fp); 
} 

数値でテストする

関連する問題