我创建了一个用户输入字符串的程序。但我需要计算字符串中有多少个字母。我不允许使用strlen()
函数。所以我找到了一些方法,但他们使用指针但我不允许使用它,因为我们还没有学到它。什么是用简单方法做到这一点的最好方法?我也尝试了字符,但我也没有运气。
#include <iostream>
using namespace std;
string long;
string short;
int main()
{
cout << "Enter long string";
cin >> long;
cout << "Enter short string";
cin >> short;
return 0;
}
我需要获得长短的长度并打印出来。
我正在尝试使用它,而不是像之前的一些问题那样做strlen。
答案 0 :(得分:3)
你的意思是这样吗?
//random string given
int length = 1;
while(some_string[length - 1] != '\0')
length++;
或者,如果您不想计算\0
字符:
int length = 0;
while(some_string[length] != '\0')
length++;
答案 1 :(得分:1)
您可以从头开始计算,直到找到结束字符\0
。
std::string foo = "hello";
int length = 0;
while (foo[++length] != '\0');
std::cout << length;
答案 2 :(得分:1)
如果使用标准cpp字符串对象,我认为获取字符串长度的最佳方法是使用方法:
long.size();
它给出了字符串中的字符数,没有结束字符串&#39; \ 0&#39;。要使用它,您必须包含字符串库:
#include <string>
如果您决定使用char表,可以尝试使用cin:
的方法char long_[20];
cout << "Enter long string\n";
int l = cin.getline(long_,20).gcount();
cout << l << endl;