Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk memadam kandungan di lokasi tertentu dalam fail menggunakan C++?

Bagaimana untuk memadam kandungan di lokasi tertentu dalam fail menggunakan C++?

PHPz
PHPzasal
2024-06-05 19:31:01226semak imbas

Fungsi erase() dalam C++ digunakan untuk memadam kandungan daripada fail Sintaks ialah stream.erase(streampos start_pos, streampos end_pos). Apabila menggunakan fungsi erase(), anda perlu menentukan kedudukan permulaan dan kedudukan penamat (byte offset) kandungan yang dipadamkan.

Bagaimana untuk memadam kandungan di lokasi tertentu dalam fail menggunakan C++?

Cara memadam kandungan daripada fail menggunakan fungsi erase() dalam C++

Pustaka C++ menyediakan pelbagai kaedah untuk memanipulasi fail, termasuk fungsi erase() , yang membolehkan anda memadam sesuatu tertentu julat daripada kandungan fail.

Sintaks:

stream.erase(streampos start_pos, streampos end_pos);
  • strim: Objek strim fail stream:文件流对象
  • start_pos:要删除内容的起始位置(字节偏移量)
  • end_pos
  • start_pos: Kedudukan permulaan (bait offset) kandungan yang akan dipadamkan

end_pos: Kedudukan akhir (byte offset) kandungan yang akan dipadamkan

Kes praktikal:

Andaikan kita mempunyai fail bernama "data.txt" yang mengandungi teks berikut:

This is a sample text file.
Hello, world!

Untuk mengalih keluar baris "Hello, world!" daripada fail, anda boleh menggunakan kod berikut: 🎜
#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;
}
🎜Selepas menjalankan kod ini, fail "data.txt" akan kelihatan seperti ini: 🎜
This is a sample text file.

Atas ialah kandungan terperinci Bagaimana untuk memadam kandungan di lokasi tertentu dalam fail menggunakan C++?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn