两次读取std::cin的输入
Reading input from std::cin TWICE
当我使用cin.get函数从cin获取输入时,它将自动更新输入文件中的读取位置。我应该怎么做才能将读取位置返回到文件的开头,以便第二次接收输入?
例如,假设我有以下文件input.txt:
"向你的新世界问好"
和下面的get循环来接收input.txt文件:
while(cin.get(charTemp)){
numberOfChars++;
}
我怎么能接受两次输入?
您将无法重读标准输入流。如果你真的需要阅读两次内容,你必须存储它,例如:
std::stringstream input;
input << std::cin.rdbuf();
input.seekg(0);
// use input and seek back to the beginning if needed
使用rewind(stdin)
http://www.cplusplus.com/reference/cstdio/rewind/以供参考。
相关文章:
- 我无法在Visual Studio代码中使用CIN输入答案,它说输入您的年龄,但它说只读文本编辑器如何解决这个问题?
- 分割错误 11:尝试使用 cin 输入 B[1] 时
- 当使用 std::CIN 输入结构时,它会出错
- C ++如何使用CIN输入这样的值?
- 使用 cin 输入数组值
- 当我输入一个字母时,cin 输入(输入是一个 int),而不是打印错误一次,它打印正确一次,然后在循环的其余部分打印 i
- 成功使用连续同时(cin >>输入)
- 连续 cin 输入在C++中的工作原理
- 无法获取哨兵值以读取多个 CIN 输入?
- 我如何使用CIN输入整数,每个数字都被逗号分隔
- C CIN输入要文件
- C++:获取用户通过cin输入的数据类型
- 无法读取字符串的长 cin 输入
- 如何将可编辑的预定义字符串写入 C++ 控制台应用程序中的 cin 输入运算符
- 循环获得CIN输入
- cin 输入可以有多大
- 如何拆分 CIN 输入
- 检查有效的 CIN 输入时出现问题
- 较长的获取线 CIN 输入的问题
- 检查 cin 输入流会生成一个整数