У меня есть строка, состоящая из:
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity.
У меня есть следующий код, который должен убрать эту строку из всех знаков препинания. Тестовая переменная - это моя строка:
if(std::ispunct(test[test.length()-1]))
{
test.erase(test.length()-1, 1);
}
Однако, когда я снова вывожу эту строку после этой функции, у меня будет следующее:
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity
По какой-то причине функция ispunct может удалять период, но не запятую. Почему так себя ведет? Заранее спасибо.