gpt4 book ai didi

c++ - 读到 C++ 中的新行进入无限循环

转载 作者:行者123 更新时间:2023-11-30 01:42:33 25 4
gpt4 key购买 nike

<分区>

给定以下程序

#include <iostream>
#include <string>
using namespace std;

int main() {
int integer;
cin >> integer;
if (!cin) {
string str;
char ch;
while ((ch = cin.get()) != '\n') {
cout << "scanning" << endl;
cout << "got " << static_cast<int>(ch) << endl;
}
}
return 0;
}

当给出这个输入文件时(重定向输入)

x123

最后换行,为什么程序会进入死循环?遇到文件末尾的换行符不应该停止吗?我一直在获取 ch 的值作为 -1..

谢谢!

注意 cin.ignore() 似乎没有帮助解决这里的问题

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com