21xrx.com
2025-06-11 17:25:19 Wednesday
登录
文章检索 我的文章 写文章
C++文本文件读写操作
2023-07-05 03:02:29 深夜i     14     0
C++ 文本文件 读操作 写操作 操作函数

C++是一种广泛使用的编程语言,它支持对文本文件进行读写操作。文本文件指的是以ASCII或Unicode编码格式存储的文件,常见的扩展名为.txt或.csv。

在C++中打开文本文件可以使用标准库中的fstream头文件,其提供了ifstream和ofstream类,分别用于读取和写入文件。打开文件时需要指定文件名及读写模式,常见的读写模式有:

- ios::in:只读模式,文件必须存在

- ios::out:只写模式,文件不存在时会创建,存在时会清空原有内容

- ios::app:追加模式,文件不存在时会创建

- ios::ate:文件打开时光标在文件末尾

- ios::binary:二进制模式

示例代码:

#include <fstream>
#include <iostream>
using namespace std;
int main() {
  ifstream in("input.txt", ios::in); // 以只读模式打开文件
  if (!in.is_open())
    cout << "Open input file failed!" << endl;
    return -1;
  
  ofstream out("output.txt", ios::out | ios::app); // 以追加模式打开文件
  if (!out.is_open()) {
    in.close();
    cout << "Open output file failed!" << endl;
    return -1;
  }
  string str;
  while (getline(in, str))  // 逐行读入字符串
    out << str << endl; // 将字符串写入文件
  
  in.close();
  out.close();
  return 0;
}

上述代码将读取名为input.txt的文件,并将每行字符串写入名为output.txt的文件中。其中使用getline函数逐行读取文件,ofstream类的<<运算符可以将字符串写入文件中,并在末尾添加换行符。

需要注意的是,文件读写操作可能会出现错误或异常情况,因此需要在打开和关闭文件时进行一些处理,例如使用is_open函数判断文件是否打开成功,使用close函数关闭文件等。

除了文本文件,C++还支持二进制文件的读写操作,这需要使用另外一组类,如ifstream和ofstream的基类fstream。二进制文件读写略有不同,需要注意数据类型的对齐和字节序等问题。

综上所述,C++提供了灵活且易用的文本文件读写操作,可以满足多种应用场景的需求。在实际编程过程中,需根据不同情况灵活选择读写模式及处理方法,以保证文件操作的正确性和高效性。

  
  

评论区