如何填写c字符串中的部分?

有一串空格:
string *str = new string();
str->resize(width,' ');

我想
填补一个位置的长度字符.

在C中它看起来像

memset(&str[pos],'#',length );

我怎么能用c string实现这一点,我试过了

string& assign( const string& str,size_type index,size_type len );

但这似乎截断了原始字符串.
有一种简单的C方式可以做到这一点吗?
谢谢.

解决方法

除了string :: replace()之外,你还可以使用std :: fill:
std::fill(str->begin()+pos,str->begin()+pos+length,'#');
//or:
std::fill_n(str->begin()+pos,length,'#');

如果您尝试填充字符串的末尾,则会被忽略.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...