Как сделать пропуск лишних пробелов для введенного текста? Получилось написать для заданного.
#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
Комментариев нет:
Отправить комментарий