在 std::string 末尾附近插入换行符 [重复]

Posted

技术标签:

【中文标题】在 std::string 末尾附近插入换行符 [重复]【英文标题】:Inserting a newline near the end of a std::string [duplicate] 【发布时间】:2019-08-07 06:44:32 【问题描述】:

我正在努力尝试实现一个 C++ 代码解决方案,该解决方案将允许我在 std::string 的末尾插入换行符(即字符串文字 '\n',并且 不是在最后。

例如,我想在最后本身之前插入一个 '\n' 只是 -1 字符。因此,如果字符串长度为 100 个字符(我知道的类比很差),那么我想以一种干净、易于阅读的方式在第 99 个字符处插入字符串文字。

谢谢!

【问题讨论】:

也许this std::string reference 会有所帮助?它至少应该告诉在任意(但有效)位置有一个函数 ti insert 个字符到字符串中。 【参考方案1】:

这是一种方法:

std::string test"abcdef";

if (!test.empty())
   test.insert(test.length() - 1, "\n");

这是一个基于迭代器的:

if (!test.empty())
   test.insert(std::prev(test.end()), '\n');

【讨论】:

非常感谢,没有一个例子这么简单。

以上是关于在 std::string 末尾附近插入换行符 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

将成员函数 ptr 插入地图

C ++从多行字符串中删除新行

插入 std::set<std::tuple<std::string, ...>> 时重复

如何用javascript插入换行符?

如何在二维向量的定义位置插入向量?

在 C++ 中摆脱 CString 中的换行符