Например, я получаю ввод от пользователя, используя std::cin
:
"This is a sample program"
Я хочу заменить каждый пробел другим символом и отобразить его как:
"This\is\a\sample\program"
Примечание: другие символы могут быть любыми.например: *
или &
или $
и т. д.
Я хочу сделать это с помощью потокового манипулятора.Возможно ли это?
Вот пример кода, который я пытался использовать std :: getline, но это не тот код, который я ожидаю.Я хочу сделать это, используя любой существующий i/o stream Manipulators
или мой собственный манипулятор.
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
string spaceToStar(string text){
for (int i=0;i<sizeof(text);i++){
if(text[i] == ' ')
text[i] = '*';
}
return text;
}
int main () {
string text, s;
cout << "enter your line: " << endl;
getline(cin, text);
s = spaceToStar(text);
cout << s << endl;
return 0;
}