[英]How can I get the number of characters from an input string?
我正在尝试计算用户提供的字符串中的字符数。 我知道我可以使用string::length()
和string::size()
但是当遇到空格时,计数就会停止。 例如,假设用户输入“Bob Builder”,计数应为10,但我的代码显示的是3.我也试图在不使用字符数组的情况下执行此操作。 有什么建议? 解释也会有很大帮助。
int main()
{
string Name;
cin>>Name;
cout << name(Name);
return 0;
}
int name(string a)
{
int numChar;
/*for (int i=0; a[i] != '\0';i++)
{
if (!isspace(a[i]))
numChar++;
}*/
numChar=a.length();
return numChar;
}
你怎么知道什么时候输入结束了? 如果你想阅读直到行尾,那么这是一个可能的解决方案:
std::string line ;
std::cin.getline(line) ;
line.length() ;
您必须使用getline()
而不是cin
来使所有行都换行到换行符。 cin
读取输入到空白。
std::getline (std::cin,Name);
如果using namespace std;
getline (cin,Name);
如果要计算不包含空格的输入字符串,代码段会帮助您。
#include <algorithm>
#include <string>
int main()
{
std::string s = "Hello there, world!";
std::cout << std::count( s.begin(), s.end(), ' ' ) << std::endl;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.