Не учитывать знаки пунктуации в функции
Сейчас програма считает все после пробела как слова. Мне нужно чтобы не учитывались знаки пунктуации (. , ! ? )
string str;
int arr[64] = { 0 };
while (!Txt.eof())
{
int i = 0;
int word = 0;
int count2 = 0;
getline(Txt, str);
while (str[i] != '\0') {
if (word == 0 && str[i] != ' ')
{
word = 1;
count2++;
}
else if (str[i] == ' ')
word = 0;
i++;
}
arr[0] += count2;
}
Ответы (1 шт):
Автор решения: Konstantin_SH
→ Ссылка
Решение в лоб : можно добавить к пробелам все нужные знаки, через &&. А вообще я бы использовал isalpha() при проверке.
Вместо
if (word == 0 && str[i] != ' ') {
word = 1;
count2++;
}
напишите
if (word == 0 && isalpha((unsigned char) str[i])){
word = 1;
count2++;
}
И все должно у Вас работать.