微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何填写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,'#');

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

原文地址:https://www.jb51.cc/c/116803.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐