Я искал примеры и учебные пособия о том, как заставить strlen работать, но ничего не работает. Я делаю небольшую программу, которая позволяет вводить ваше предложение, и вы можете искать конкретное письмо в предложении.Ошибка при использовании strlen
Ошибка гласит:
19:23: error: cannot convert âstd::string {aka std::basic_string<char>}â to âconst char*â for argument â1â to âsize_t strlen(const char*)â
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main() {
char letter;
string sentence;
int count;
cout << "Enter a character to count the number of times it is in a sentence: ";
cin >> letter;
cout << "Enter a sentence and to search for a specified character: " << endl;
getline(cin, sentence);
for(int i = 0; i < strlen(sentence); i++){
if(sentence[i] == letter){
count++;
}
}
cout << letter << " was found " << count << " times." << endl;
}
Функция strlen работает с строками C-Style, a.k.a. 'char *', а не на 'std :: string'. Просмотрите описание функции и описание в любой хорошей ссылке на C++. –