如何找到数组中字符串的长度?
how to find the length of the string on the array?
我正在尝试从字符数组中获取字符串的长度
我的输入是:alpha kian namikian
,输出应该是 5 4 8
,但目前我的输出是 11 11 11 11 11 11 11 11 11 11 11
,这不是我想要实现的。
int i,count;
char str[100];
cout<<"enter string\n";
for(i=0;;i++)
{
cin>>str[i];
if(cin.get()=='\n')
{
count=i+1;
break;
}
}
for(i=0;i<count;i++)
{
int len = strlen(str);
cout<<len<<"\n";
}
您有一个编译错误,因为您试图将字符串数组作为 strlen
的参数。在您的代码中,str
包含所有字符串,因此您必须像从标准输入中获取字符串时那样使用访问运算符 []
。
int len = strlen(str)
变为 int len = strlen(str[i])
,这应该可以修复错误。
编辑:
看起来你不能对字符串使用 strlen
。请改用 length()
。
int len = str[i].length()
编辑#2:
添加完整代码以供参考输出:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int i, count;
string str[100];
cout << "enter string\n";
for (i = 0;; i++)
{
cin >> str[i];
if (cin.get() == '\n')
{
count = i + 1;
break;
}
}
for (i = 0; i < count; i++)
{
int len = str[i].length();
cout << len << "\n";
}
}
输出:
enter string
alpha kian namikian
5
4
8
您可以使用此方法使用 vector
类型 string
并在输入的字符串为 exit
时退出字符串存储
我正在使用 temp
变量将字符串存储在任何索引处并输出相应的长度。
int i;
vector<string> str;
cout << "Enter String\n";
while(cin)
{
string temp;
cin >> temp;
if(temp == "exit")
break;
else
str.push_back(temp);
}
int n= str.size();
for(i = 0; i< n; i++)
{
string temp = str[i];
int len = temp.length();
cout << len << endl;
}
我正在尝试从字符数组中获取字符串的长度
我的输入是:alpha kian namikian
,输出应该是 5 4 8
,但目前我的输出是 11 11 11 11 11 11 11 11 11 11 11
,这不是我想要实现的。
int i,count;
char str[100];
cout<<"enter string\n";
for(i=0;;i++)
{
cin>>str[i];
if(cin.get()=='\n')
{
count=i+1;
break;
}
}
for(i=0;i<count;i++)
{
int len = strlen(str);
cout<<len<<"\n";
}
您有一个编译错误,因为您试图将字符串数组作为 strlen
的参数。在您的代码中,str
包含所有字符串,因此您必须像从标准输入中获取字符串时那样使用访问运算符 []
。
int len = strlen(str)
变为 int len = strlen(str[i])
,这应该可以修复错误。
编辑:
看起来你不能对字符串使用 strlen
。请改用 length()
。
int len = str[i].length()
编辑#2:
添加完整代码以供参考输出:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int i, count;
string str[100];
cout << "enter string\n";
for (i = 0;; i++)
{
cin >> str[i];
if (cin.get() == '\n')
{
count = i + 1;
break;
}
}
for (i = 0; i < count; i++)
{
int len = str[i].length();
cout << len << "\n";
}
}
输出:
enter string
alpha kian namikian
5
4
8
您可以使用此方法使用 vector
类型 string
并在输入的字符串为 exit
时退出字符串存储
我正在使用 temp
变量将字符串存储在任何索引处并输出相应的长度。
int i;
vector<string> str;
cout << "Enter String\n";
while(cin)
{
string temp;
cin >> temp;
if(temp == "exit")
break;
else
str.push_back(temp);
}
int n= str.size();
for(i = 0; i< n; i++)
{
string temp = str[i];
int len = temp.length();
cout << len << endl;
}