Прототип функции ispunct:
int ispunct( int character );
Заголовочный файл
Название | Язык |
---|---|
ctupe.h | С |
cctupe | С++ |
Описание
Функция ispunct
проверяет свой аргумент, является ли его значение символом пунктуации. Для этой функции, знак пунктуации — это любой графический символ (как в isgraph
) и не буквенно-цифровые символы (как в isalnum
).
Подробно ознакомиться с возвращаемыми результатами функций, для каждого символа стандартного набора символов ASСII вы можете в библиотеке <cctype>.
В С++ локализованная версия функции ispunct определена в заголовочном файле <locale>
.
Параметры:
- character
Символ для проверки, передаётся в функцию как значение типаint
, илиEOF
.
Возвращаемое значение
Значение, отличное от нуля (т.е. истинно), если аргумент функции — это знак пунктуации.
Ноль (т.е. ложь), в противном случае.
Пример: исходный код программы
// пример использования функции ispunct #include <iostream> // для оператора cout #include <cctype> // для функции ispunct int main () { int ix = 0, // индекс символов в строке ctr = 0; // счетчик символов пунктуации char str[] = "Привет, добро пожаловать!"; while (str[ix]) // пока не конец чтроки { if ( ispunct(str[ix]) ) ctr++; // если текущий символ - символ пунктуации ix++; // инкремент интдекса } std::cout << "Предложение содержит " << ctr << " символа пунктуации" << std::endl; return 0; }
Пример работы программы
CppStudio.com
Предложение содержит 2 символа пунктуации
Комментарии
DESergik
Пример программы выдает ошибку «expression (unsigned)(c+1) = 256″. Поискав в интернете выяснил, что проблема заключается в строчке str[] на русском языке. Чтобы исправить данную ошибку необходимо использовать строчку на английском или добавить перед char «unsigned»: