@nicola Чтобы удалить лишние пробелы, Вы можете создать аналог strip-фукнции в Python.
Для этого можно использоваться цикл и массив символов (Строку)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> int main() { char str[60]; // Создаем строку (Массив символов), который будет вводится с клавиатуры char new_str[60] = ""; // Создаем пока-что пустую переменную, в которой будет измененная строка ( Без пробелов ) std::cin >> str; // Позволяем пользователю ввести строку for (int i = 0; i < strlen(str); i++) { if (str[i] != ' ') strncat(new_str, str + i, 1); // Изменяем строку посредством изменения и копирования в новую переменную } std::cout << str << std::endl; // Выводим результат return 0; // Пример : // Ввод = " dropcode.ru " // Вывод = "dropcode.ru" } |
@nicola Используйте метод find() для поиска лишних (двойных например) пробелов в строке на C++ и затем метод .replace() чтобы заменить с одинарным пробелом, ниже код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#include <iostream> int main(int argc, char *argv[]) { std::string str = "Тест - с т ро ка "; // Искать двойные пробелы std::string::size_type pos = str.find(" "); while (pos != std::string::npos) { // Заменить с одним пробелом str.replace(pos, 2, " "); // Ищем если осталось еще pos = str.find(" ", pos); } // Вывод: Тест - с т ро ка std::cout << str << std::endl; return 0; } |