【发布时间】:2011-06-18 02:35:44
【问题描述】:
如果我有以下 C++ 代码:
#include <iostream>
#include <string>
int main()
{
std::string str;
while (std::cin>>str)
std::cout<<str<<"\n";
std::cout<<str.length(); // UPDATE: str.length
return 0;
}
当我运行程序并且不键入string 并按Enter 时,我得到empty 输出。这是否意味着 while 循环运行并认为有一个 input 即使它是空的?
如何终止这个循环?
最后,为什么我在输出中没有得到字符串的length?
更新: 我想使用string 函数解决问题
谢谢。
【问题讨论】:
-
我想它会得到一个
compile Time Error。什么是s? -
@Javed Akram。我修改了
s,但问题仍然有效。谢谢 -
我发现了这个问题。似乎我忘了在 two
std::cout语句周围插入 { }。谢谢
标签: c++ string while-loop