Вот программа на C++ для удаления пробелов из строки:
#include <iostream>
#include <string>
using namespace std;
string removeSpaces(string str) {
str.erase(remove(str.begin(), str.end(), ' '), str.end());
return str;
}
int main() {
string input;
cout << "Enter a string: ";
getline(cin, input);
string result = removeSpaces(input);
cout << "String after removing spaces: " << result << endl;
return 0;
}
Эта программа использует функции remove
и erase
из библиотеки
на C++ для удаления пробелов из входной строки. Функция remove
удаляет все вхождения указанного символа (в данном случае пробела ' '
) и возвращает итератор, указывающий на новый конец строки. Затем функция erase
стирает элементы из возвращенного итератора до конца строки.
Вот несколько дополнительных методов удаления пробелов из строки в C++:
Метод 1. Использование цикла для перебора каждого символа строки и создания новой строки без пробелов.
#include <iostream>
#include <string>
using namespace std;
string removeSpaces(string str) {
string result = "";
for (char c : str) {
if (c != ' ') {
result += c;
}
}
return result;
}
int main() {
string input;
cout << "Enter a string: ";
getline(cin, input);
string result = removeSpaces(input);
cout << "String after removing spaces: " << result << endl;
return 0;
}
Метод 2: использование функции replace
в цикле для замены каждого пробела пустой строкой.
#include <iostream>
#include <string>
using namespace std;
string removeSpaces(string str) {
size_t found = str.find(' ');
while (found != string::npos) {
str.replace(found, 1, "");
found = str.find(' ');
}
return str;
}
int main() {
string input;
cout << "Enter a string: ";
getline(cin, input);
string result = removeSpaces(input);
cout << "String after removing spaces: " << result << endl;
return 0;
}