当我使用cin.get函数从cin获取输入时,它将自动更新输入文件中的读取位置。我该怎么做才能将读取位置返回到文件的开头,以便我可以再次接收输入?
比如说我有以下文件 input.txt :
“向你的新世界问好”
以及以下get循环来接受input.txt文件:
while(cin.get(charTemp)){
numberOfChars++;
}
我怎样才能接受输入两次?
答案 0 :(得分:5)
您将无法重读标准输入流。如果你真的需要阅读两次内容,你必须存储它,例如:
std::stringstream input;
input << std::cin.rdbuf();
input.seekg(0);
// use input and seek back to the beginning if needed
答案 1 :(得分:-1)
使用rewind(stdin)