gpt4 book ai didi

C++ while循环和字符串长度

转载 作者:行者123 更新时间:2023-11-28 01:08:36 25 4
gpt4 key购买 nike

如果我有以下 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 即使它是空的?

如何终止这个循环?

最后,为什么我在输出中得不到字符串的长度

更新: 我想使用 string 函数解决问题

谢谢。

最佳答案

因为“enter”产生“carrier return”符号。它是不可见的,只是新行的开始。您可以使用 istream 对象并使用 get() 函数,它返回读取的字符数:

字符 ch;

同时(cin.get(ch)){

关于C++ while循环和字符串长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4843164/

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