iterator erase (iterator first, iterator last);
txt.erase(txt.begin(), txt.begin()+10001);
《C++Primer第五版中文版》中提到 std::string类可以使用顺序容器的erase()操作。erase()操作的作用是删除string中的指定部分,并且减少string的长度。顺序容器的erase()函数有一个格式为 iterator erase (iterator first, iterator last); 其中,first表示要删除的起始位置,last表示要删除的结束位置。但是需要注意的是,使用该格式删除string中的指定部分时,删除的内容是从first到last的前一个元素,不包含last,即删除的范围是[fist, last)。 可以使用如下代码删除0-10000 txt.erase(txt.begin(), txt.begin()+10001);
[quote=引用 1 楼 niiiloc 的回复:] 没有动态申请就不需要动态释放 如果new了,就delete释放
没有动态申请就不需要动态释放 如果new了,就delete释放
txt.replace(0, 10001, 0, '\0'); // '\0'可以替换为任意字符
33,311
社区成员
41,784
社区内容
加载中
试试用AI创作助手写篇文章吧