gpt4 book ai didi

c++ - string.length() 在第一个单词后停止

转载 作者:行者123 更新时间:2023-11-30 03:59:34 26 4
gpt4 key购买 nike

我正在尝试找出字符串的长度。这有效并输出 14:

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

int main(){
string str = "this is sparta";
cout << str.length() << endl;
}

然而这失败了:

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

int main(){
string str;
cin >> str;
cout << str.length() << endl;
}

当我输入句子 this is sparta 并回车时,我得到 4 作为长度。

我做错了什么?

最佳答案

那是因为 cin 在空格处停止。如果您想阅读所有单词,则需要循环:

int main() {
string str;
while (cin >> str) {
cout << str << " --> " << str.length() << endl;
}
}

或者,如果您希望同时获得它们,则需要使用 getline:

int main() {
string str;
while (getline(cin, str)) {
cout << str << " --> " << str.length() << endl;
}
}

关于c++ - string.length() 在第一个单词后停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26857128/

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