这是一个c++问题。
char str[10];
while(cin.get(str,10).get())
...
cin.clear();我希望当我只给出enter键时,while循环会结束,因为cin.get(str,size)遇到空行时会失败。但是,当我在aim后面添加一个.get()来读取以下代码时,\n当我给出一个空行时,while循环就会继续循环。是否是.get()导致判断为真,而不是cin.get(str,size)的判断为假?
发布于 2013-12-11 13:04:19
cin.get(str,10)从流中提取字符,并将它们作为c字符串存储在str中,直到提取到9个字符或遇到分隔字符,而不是“获取10,如果不能,则失败,因为该行已结束”。
这基本上不会“失败”,直到你到达文件的末尾。您必须捕获这条线并分别测试它的长度(可能不在同一个表达式中)
https://stackoverflow.com/questions/20510782
复制相似问题