如何从输入字符串中获取字符数
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] != ' ';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;
}
相关文章:
- 有没有办法通过使用十进制 ASCII 代码自动类型扣除来获取字符?
- 如何获取C++字符数据类型的地址
- CPP:如何获取字符的最后一个索引
- 试图在重载函数中获取字符和字符串的输入
- C++使用第二个函数获取字符数组的长度
- 如何获取字符*的实际长度?strlen 和 sizeof(target)/sizeof(target*)之间的区别?
- 如何获取字符并将其转换为字符串?C++
- 如何在C++中从字符串指针中获取字符
- 获取字符数组地址,然后转换为指针字符
- 使用指针在字符串中获取字符的位置
- 获取字符数组C++数
- 使用scanf()在数组中获取字符(不与空格分开)
- "Error: expected a '{' introducing a lambda body"尝试从地图<字符,字符中获取字符时> C++
- 从文本文件输入以获取字符C++
- 使用getchar()获取字符并将其保存到每次C 的新行中的文件中
- 需要帮助从文件中获取字符和整数数据
- 如何获取字符C++像素
- 如何获取字符*(字符数组)的真实长度和总长度
- 从文件而不是getchar中获取字符
- 从流 C++ 获取字符