У вас ошибка компиляции, потому что вы пытаетесь разместить массив строк в качестве параметра для 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";
}
}
Выход:
введите строку
alpha kian namikian
5
4
8