Я пытался найти длину string
, которая имеет массив char
с функцией strlen()
, но она не работает. код я использую что-то вроде этого:Найти длину массива строк с помощью strlen()
string s[]={"a","b","c"};
int len = strlen(s.c_str());
Он производит следующее сообщение об ошибке:
"request for member âc_strâ in âwArrayâ, which is of non-class type"
Но когда я использовал эту strlen()
функцию string
с до, как это, он работал отлично:
fin.open("input.txt");
string tempStr;
getline(fin, tempStr,'\n');
int len = strlen(tempStr.c_str());
Что мне здесь недостает? Я знаю, что могу найти длину string s[]
с
int size = sizeof(s)/sizeof(s[ 0 ]);
Но почему я не могу использовать strlen()
. Может кто-нибудь объяснить, что происходит?
'' 'массив ', он не имеет функции' c_str'. std :: vector вариант? – billz
Вам не хватает того, что 'std :: string' не' std :: string [] '. –
@Billz Но он работает для массива типа char .... ???????????/ – DeadCoder