c++++中的erase()函数用于从文件中删除内容,语法为stream.erase(streampos start_pos, streampos end_pos)。使用erase()函数时需要指定删除内容的起始位置和结束位置(字节偏移量)。
如何在 C++ 中使用 erase() 函数从文件中删除内容
C++ 库提供了多种方法来操作文件,其中包括 erase() 函数,它允许您从文件中删除特定范围的内容。
语法:
stream.erase(streampos start_pos, streampos end_pos);
登录后复制
- stream:文件流对象
- start_pos:要删除内容的起始位置(字节偏移量)
- end_pos:要删除内容的结束位置(字节偏移量)
实战案例:
假设我们有一个名为 “data.txt” 的文件,其中包含以下文本:
This is a sample text file. Hello, world!
登录后复制
要从文件中删除 “Hello, world!” 行,可以使用以下代码:
#include <fstream> #include <iostream> using namespace std; int main() { // 打开文件,用于读写 fstream file("data.txt", ios::in | ios::out); if (!file.is_open()) { cout << "无法打开文件!" << endl; return 1; } // 定位到要删除内容的起始位置 file.seekg(16); // 定位到要删除内容的结束位置 file.seekp(27); // 删除指定范围的内容 file.erase(file.tellg(), file.tellp()); // 关闭文件 file.close(); cout << "删除操作成功!" << endl; return 0; }
登录后复制
运行此代码后,文件 “data.txt” 将如下所示:
This is a sample text file.
登录后复制
以上就是如何使用C++在文件指定位置删除内容?的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:张大嘴,转转请注明出处:https://www.dingdanghao.com/article/559719.html