gpt4 book ai didi

c++ - 如果字符串中有空格,String.size() 返回不正确的数字

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:04:40 26 4
gpt4 key购买 nike

我正在尝试编写一个程序来返回字符串中的字符数。在编写程序时,我注意到字符串类中存在错误。

假设我的程序是这样的:

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

int main()
{
string input;

cout << "Input string: ";
cin >> input

cout << "Number of characters: " << input.size() << endl;

return 0;
}

如果我的输入是测试字符串,我应该看到数字11作为输出。

但是,我得到的输出是这样的:

Number of characters: 4

当字符串中有空格时,size() 方法似乎不起作用。

我的问题是,是否有另一种方法可以获取字符串中的字符数?我尝试了 length() 方法,但结果是一样的。

最佳答案

那是因为你的

cin >> input; 

只读到第一个空白字符。如果你想得到整行,使用下面的代码:

std::string s;
std::getline(std::cin, s);

关于c++ - 如果字符串中有空格,String.size() 返回不正确的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4393519/

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