c++ - 如何在 C++ 字符串中填充一个部分?

标签 c++ c string

有一串空格:

string *str = new string();
str->resize(width,' ');

我愿意 在某个位置填充长度字符。

在 C 中它看起来像

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

我试过如何用 C++ 字符串实现这个

 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++ - 如何在 C++ 字符串中填充一个部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2891275/

相关文章:

c - 有没有办法使用 for 循环按降序浏览和排序 C 中的结构元素?

c - C中strcat函数的递归实现

arrays - 字符串文字的 Ada 常量数组

c# - 为什么 CompareTo 不使用 ASCII 代码排序对我的字符串进行排序?

c++ - 为什么我的 n log(n) 堆排序比我的 n^2 选择排序慢

c++ - 位移位和赋值

c++:如何将 uint32 中的相关位放入 uint8?

c++ - "Error: no matching function or call"到我的 Windows 析构函数

c++ - C/C++ : What does this syntax mean?

c - 没有线程和阻塞套接字 - 是否可以处理多个连接?