有一串空格:
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,'#');
如果您尝试填充字符串的末尾,则会被忽略.