Есть код:
for (int i = 0; i < text.length(); ++i) {
if(isalpha(rus_alphabet[_indexOfSymbol(text[i], rus_alphabet, rus_size)])) {
count_of_symbols[_indexOfSymbol(text[i], rus_alphabet,rus_size)] += 1;
}
}
Если элемент массива rus_alphabet, с индексом _indexOfSymbol(функция, которая возвращает индекс элемента) - является буквой, то прибавить 1.
Проблема в том, что isalpha работает только для char, а я никак не могу преобразовать string в char(не char* ), чтобы их сравнить.
P.S. string хранит одну букву. Я сравниваю всю строку, а не посимвольно. String это элемент массива строк!
rus_alphabet имеет следующий вид: rus_alphabet[0] = "А";
Если вопрос только в том, как получить из std::string первый символ как char, то можно:
string s = "a";
char c1 = s.c_str()[0]; // так
char c2 = *s.c_str(); // или так
char c3 = s[0]; // вариант alexolut
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости