可能性の重複:Cのストリームの次の文字を見る方法は?
C equivalent to fstream's peek
FILE *fp;
char c, d;
fp = fopen (file, "r");
c = getc(fp);
d = nextchar?
次に実際にgetcを呼び出してポインタを移動することなく、次に来る文字を見ますか?
可能性の重複:Cのストリームの次の文字を見る方法は?
C equivalent to fstream's peek
FILE *fp;
char c, d;
fp = fopen (file, "r");
c = getc(fp);
d = nextchar?
次に実際にgetcを呼び出してポインタを移動することなく、次に来る文字を見ますか?
getc()
を使用して次の文字を取得し、その後にungetc()
を呼び出すことができます。
更新:ファイルの末尾を覗き見ることができるラッパーの@Jonathanのコメントを参照してください(その場合はEOF
を返します)。
アップデート2:ややコンパクト版:あなたはこの質問に見てみることができます
int fpeek(FILE * const fp)
{
const int c = getc(fp);
return c == EOF ? EOF : ungetc(c, fp);
}
@JonathanLeffler:はい。私は「次のキャラクターを見る」とは、**次のキャラクターが**あることを意味すると想定していました。それが確実でない場合は、追加チェックが必要です。 –
: [1] [C++さんのfstream ::のぞくと同等] [1]:http://stackoverflow.com/questions/2082743/c-equivalent-to-fstreams-peek – Baltasarq
これは重複していますが、なぜdownvoteですか?正当な質問です.Cライブラリを見るだけでは完全には分かりません。 –
ねえ、それは私ではありませんでした! – Baltasarq