从std :: cin TWICE读取输入

Luc*_*ovo 1 c++ iostream input cin

当我使用cin.get函数从cin获取输入时,它将自动更新输入文件中的读取位置.我该怎么做才能将读取位置返回到文件的开头,以便我可以再次接收输入?

比方说我有以下文件input.txt:

"向你的新世界问好"

以及以下get循环来获取input.txt文件:

while(cin.get(charTemp)){
     numberOfChars++; 
} 
Run Code Online (Sandbox Code Playgroud)

我怎么能接受两次输入?

Die*_*ühl 5

您将无法重读标准输入流.如果你真的需要两次阅读内容,你必须存储它,例如:

std::stringstream input;
input << std::cin.rdbuf();
input.seekg(0);
// use input and seek back to the beginning if needed
Run Code Online (Sandbox Code Playgroud)