Я обнаружил использование библиотеки в C ++, которая
ctype.h
У меня есть пользовательский ввод, который является строкой для принятия слов и выполняет обработку ошибок, используя ispunct()
не принимать знаки препинания. Но я хочу ispunct()
принять » ‘ «. Могу ли я установить параметр, чтобы пропустить «‘»?
Если я правильно понимаю ваш вопрос, вы хотите иметь ispunct
вернуть ложь на '
персонаж. Вы можете просто написать пользовательскую оболочку, если это так.
int myispunct(int c) {
return c == '\'' ? 0 : ispunct(c);
}
Который сначала проверяет, если c
это '
, Если это так, он возвращает 0, в противном случае он проходит c
в ispunct
и возвращается из этого.
Нет, так как '\''
это пунктуация, и вот что ispunct()
ищет. Вы можете проверить символы вручную.
try
{
if ( std::ispunct(word,loc) && word != "\'" )
throw string("Punctuations other then \' are not allowed!");
}
catch(string ex)
{
//error handling
}
где word
это ваша строка