所以我有一个字符输入字符串。如果字符串包含空格或长度小于15个字符,我必须用空格替换下划线(“_”)。如何用“_”替换“”?
这是我的代码:
#include <string>
#include <iostream>
using namespace std;
string spaces(int i){
char arr[i];
for(int j=0; j<i; j++){
arr[j]='_';
}
string space(arr);
return space;
}
int main(){
string str = "USERNAME12034";
if(str.size() < 15){
// get size of username;
int size = 15-str.size();
str = str.append(spaces(size));
}
cout << str << endl;
return 0;
}
当我编译并运行它,这是输出:
USERNAME12034__�O�
我如何才能在年底摆脱那些字符?
使用'的std :: replace'。 – chris
问题措辞严重:描述中提到“填充到15个字符”,但标题是“用下划线替换空格”。 – Mark
谢谢克里斯,我不知道有一个替换函数我可以使用,以便照顾替换空的空间。但是,如果用户名长度小于15个字符,如何追加一定数量的空白空间? – Dreadlock