3

cin.get 関数を使用して cin から入力を取得すると、入力ファイルから読み取り場所が自動的に更新されます。もう一度入力を取り込めるように、読み取り場所をファイルの先頭に戻すにはどうすればよいですか?

たとえば、次のファイルinput.txtがあるとします。

「あなたの新しい世界によろしく」

次の get ループは、input.txt ファイルを取り込みます。

while(cin.get(charTemp)){
     numberOfChars++; 
} 

入力を 2 回取り込むにはどうすればよいですか?

4

2 に答える 2

7

標準入力ストリームを再読み込みすることはできません。コンテンツを 2 回読む必要がある場合は、保存する必要があります。たとえば、次のようになります。

std::stringstream input;
input << std::cin.rdbuf();
input.seekg(0);
// use input and seek back to the beginning if needed
于 2013-07-30T23:12:55.307 に答える
-1

使用するrewind(stdin)

http://www.cplusplus.com/reference/cstdio/rewind/を参照してください。

于 2013-07-30T22:33:20.673 に答える