char punct(char a[], int len) {
for (int i = 0; i < len; i++) {
if (ispunct(a[i]))
{ return i; }
return -1;
}
}
Может ли кто-нибудь сказать мне, почему эта функция возвращает только -1 для каждой строки, которую я ей передаю? Я пишу программу для ввода слов из .txt-файла и вывода их (с небольшим количеством изменений) в другой .txt-файл, и мне нужно удалить знаки препинания из строк. Однако я не могу обнаружить, где пунктуация использует функцию ispunct(). Я даже написал свою собственную функцию, используя все случаи пунктуации, которые я мог себе представить, и она только возвращает -1. Это проблема с функцией здесь или строками, которые я им даю? Если необходимо показать больше моего кода, сообщите мне. Благодаря!ispunct() Функция в C++
Добро пожаловать в StackOverflow! Это напрямую не связано с вашим вопросом, но вы, вероятно, хотите изменить тип возврата на 'int'. Значение '-1' может быть не представимым в типе' char'. –