如何在数组中找到字符串的长度
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 stringn";
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
包含所有字符串,因此您必须使用访问运算符[]
,就像从标准输入中获取字符串时一样。
CCD_ 7变为CCD_。
编辑:
看起来您不能将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 stringn";
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";
}
}
输出:
输入字符串
阿尔法-纳米
5
4
8
您可以使用vector
类型string
使用此方法,如果输入的字符串是exit
,则退出字符串的存储
我使用temp
变量将字符串存储在任何索引处,并输出相应的长度。
int i;
vector<string> str;
cout << "Enter Stringn";
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;
}
相关文章:
- 将C#字符串数组传递给C++
- 如何为 C 型字符串数组编写 getter 和 setter?
- 有没有办法使用 strcpy 将字符串数组复制到另一个字符串或其他数组中?
- 尝试将 c 字符串数组与分隔符连接起来
- 将字符串数组传递给接受常量字符**的函数
- 返回 C++ 中的字符串数组
- 如何从COM模块中的函数返回字符串数组?
- 无法将字符串数组声明为类成员而不是字符 (C++)
- 删除字符串数组
- 如何将字符串数组返回到 java JNI
- 将字符串数组作为函数参数传递
- C++将字符串数组的元素存储到变量中
- 循环访问还包含未使用元素的字符串数组
- 字符串数组上的 sizeof 运算符以 C++ 为单位给出不同的输出
- 乘以字符串/数组和全局数组
- 递归二进制搜索与字符串数组
- 如何初始化一个标准::字符串数组?
- 无法在声明时使用初始值设定项列表初始化常量字符*/字符串数组的向量
- C++字符串数组的动态向量
- 给定一个等长字符串数组