我有一个如下所示的字符串
std::string s = "123468998";
我想将位置0到4的所有字符替换为字符'X' 所以我的字符串看起来像
"XXXXX68998"
有任何内置功能可用于此吗,或者我需要手动完成
我不能假设1234是常数,它可能会发生变化,因此根据我要替换的位置
答案 0 :(得分:1)
要替换字符串中的单个字符,只需使用[]
访问字符串中的字符:
#include <iostream>
#include <string>
int main()
{
std::string s = "123468998";
for (int i = 0; i < 5; i++) {
s[i] = 'X';
}
std::cout << s << std::endl;
return 0;
}
如果要使用内置解决方案,可以执行以下操作:
s.replace(0, 5, 5, 'X');
查看其文档here。
或std::fill
,如here所述:
std::fill(s.begin(), s.begin() + 5, 'X');