21xrx.com
2024-12-22 20:09:16 Sunday
登录
文章检索 我的文章 写文章
C++文件读写:多种方法详解
2023-07-05 21:07:15 深夜i     --     --
C++文件读写 多种方法 方法详解 文件操作 文件处理

C++是一种高级编程语言,常被用于开发软件和游戏。文件读写是C++编程中一个很常见的任务,本文将详细介绍C++中文件读写的多种方法。

1. 使用标准库中的fstream

C++中可以使用标准库中的fstream来进行文件读写。其中,fstream是一个基类,fstream、ifstream和ofstream是fstream的派生类。

示例代码:


#include <fstream>

int main() {

  std::fstream file;

  // 打开文件

  file.open("file.txt", std::ios::out);

  // 写入内容

  file << "Hello, world!";

  // 关闭文件

  file.close();

  // 重新打开文件

  file.open("file.txt", std::ios::in);

  // 读取内容

  std::string str;

  std::getline(file, str);

  // 关闭文件

  file.close();

  return 0;

}

在上面的示例中,我们使用了std::ios::out来表示打开文件的方式是写入(输出)模式,使用了std::ios::in来表示打开文件的方式是读取(输入)模式。通过使用std::getline来读取文件中的一行内容。

2. 使用cstdio库中的fopen和fclose

C++也可以使用C语言中的cstdio库来进行文件读写。其中,fopen函数用于打开文件,fclose函数用于关闭文件。

示例代码:


#include <cstdio>

int main() {

  FILE* file;

  // 打开文件

  file = std::fopen("file.txt", "w");

  // 写入内容

  std::fprintf(file, "Hello, world!");

  // 关闭文件

  std::fclose(file);

  // 重新打开文件

  file = std::fopen("file.txt", "r");

  // 读取内容

  char buffer[256];

  std::fgets(buffer, 256, file);

  // 关闭文件

  std::fclose(file);

  return 0;

}

在上面的示例中,我们使用了"w"来表示打开文件的方式是写入(输出)模式,使用了"r"来表示打开文件的方式是读取(输入)模式。使用了std::fprintf来向文件中写入内容,使用了std::fgets来从文件中读取内容。

3. 使用ifstream和ofstream

C++中还有另外两个类来进行文件读写,它们分别是ifstream和ofstream。其中,ifstream用于读取文件,ofstream用于写入文件。

示例代码:


#include <fstream>

int main() {

  std::ofstream out_file;

  // 打开文件

  out_file.open("file.txt");

  // 写入内容

  out_file << "Hello, world!";

  // 关闭文件

  out_file.close();

  std::ifstream in_file;

  // 打开文件

  in_file.open("file.txt");

  // 读取内容

  std::string str;

  std::getline(in_file, str);

  // 关闭文件

  in_file.close();

  return 0;

}

在上面的示例中,我们使用了std::ofstream来进行文件写入,使用了std::ifstream来进行文件读取。在ofstream和ifstream中,open函数不需要指定打开文件的模式,因为它们已经默认指定了。

总结:

在C++中,文件读写有多种方法可供选择,例如使用标准库中的fstream、使用C语言的cstdio库中的fopen和fclose,以及使用ifstream和ofstream类。其中,fstream和ofstream是基于fstream实现的。

无论使用哪种方法,都需要注意文件打开时需要指定正确的打开方式,否则可能会导致程序运行错误。同时,在进行文件读写操作时,也需要注意文件是否成功打开以及读写是否成功,以免出现问题而导致程序出错。

  
  

评论区

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