Страницы

Поиск по вопросам

понедельник, 19 ноября 2018 г.

Удаление лишних пробелов из строки

Как сделать пропуск лишних пробелов для введенного текста? Получилось написать для заданного.
#include using namespace std; #include #include
void main() { setlocale(0, "rus"); char nach1[] = "Its me Dio "; char con1[50]; int jj = 0;
for (int i = 0; i < strlen(nach1 - 1); i++) { if (nach1[i] == ' ' && nach1[i + 1] == ' ')continue; con1[jj] = nach1[i], jj++; }
con1[jj] = 0;
char* vr = con1; if (con1[0] == ' ')vr++;
cout << vr << endl << endl; _getch(); }


Ответ

Примерно так:
void removeSpaces(std::string& str) { for (std::string::iterator it = str.begin(); it != str.end(); it++) { std::string::iterator begin = it; while (it != str.end() && ::isspace(*it) )it++; if (it - begin > 1) it = str.erase(begin + 1, it) - 1; } }
Вход: str sdfg f
Выход: str sdfg f

Комментариев нет:

Отправить комментарий