21xrx.com
2024-11-22 07:29:37 Friday
登录
文章检索 我的文章 写文章
C++ 文件读写操作
2023-06-27 15:37:02 深夜i     --     --
C++ 文件 读写 操作 流对象

C++ 是一种面向对象的编程语言,其在文件读写操作上具有很强的支持能力。文件读写是计算机程序中不可或缺的一部分,在C++中,文件读写操作可以通过标准库函数和操作符实现。

文件读取是一种将文件内容读入程序中的操作。C++中的文件读取有两种方式:文本读取和二进制读取。对于文本文件,可以使用 ifstream 类来打开文件并读取其内容。例如,以下代码段演示了如何读取一个名为“example.txt”的文本文件:


#include <iostream>

#include <fstream>

using namespace std;

int main() {

  string line;

  ifstream file("example.txt");

  if (file.is_open()) {

    while (getline(file, line))

      cout << line << endl;

    

    file.close();

  }

  else

    cout << "Unable to open file!" << endl;

  

  return 0;

}

在该代码中,我们创建了一个名为“example.txt”的文本文件,并使用 ifstream 类来打开它。在 while 循环中,每次读取一行文本,并将其输出到控制台。在读取完文件内容后,我们使用 close() 函数关闭文件。

对于二进制文件,我们可以使用 ifstream 类的 read() 函数来读取文件内容。以下是一个读取二进制文件的例子:


#include <iostream>

#include <fstream>

using namespace std;

int main() {

  char buffer[20];

  ifstream file("example.bin", ios::in | ios::binary);

  if (file.is_open()) {

    file.read(buffer, 20);

    cout << buffer << endl;

    file.close();

  }

  else

    cout << "Unable to open file!" << endl;

  

  return 0;

}

在该代码中,我们创建了一个名为“example.bin”的二进制文件,并使用 ifstream 类以二进制方式打开它。我们使用了 read() 函数来读取文件的前20个字节,并将其存储在缓冲区中。最后,我们输出了缓冲区中的内容,然后使用 close() 函数关闭文件。

文件写入是将程序中的内容写入文件的方法。C++中,我们可以使用 ofstream 类来写入文本文件,也可以使用 ofstream 类的 write() 函数来写入二进制文件。以下是一个写入文本文件的例子:


#include <iostream>

#include <fstream>

using namespace std;

int main() {

  string line;

  ofstream file("example.txt");

  if (file.is_open()) {

    while (getline(cin, line))

      file << line << endl;

    

    file.close();

  }

  else

    cout << "Unable to open file!" << endl;

  

  return 0;

}

在该代码中,我们使用 ofstream 类打开一个名为“example.txt”的文本文件,并使用流操作符将输入流写入文件。我们使用 while 循环重复此过程,直到用户输入“Ctrl+D”来结束文件写入。

对于二进制文件,我们可以使用 ofstream 类的 write() 函数来将程序中的内容写入文件。以下是一个二进制文件写入例子:


#include <iostream>

#include <fstream>

using namespace std;

int main() {

  char buffer[] = "Hello, world!";

  ofstream file("example.bin", ios::out | ios::binary);

  if (file.is_open()) {

    file.write(buffer, sizeof(buffer));

    file.close();

  }

  else

    cout << "Unable to open file!" << endl;

  

  return 0;

}

在该代码中,我们创建了一个名为“example.bin”的二进制文件,并使用 ofstream 类以二进制方式打开它。我们使用 write() 函数将缓冲区中的内容写入文件,其中 sizeof(buffer) 参数告诉函数要写入的字节数。最后,我们关闭文件。

综上所述,C++具有强大的文件读写操作支持能力,具有多种读写方式和函数,我们可以根据实际需要选择适合的方式和函数来操作文件。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复