21xrx.com
2024-09-20 00:42:06 Friday
登录
文章检索 我的文章 写文章
C++文本文件读写操作
2023-07-05 03:02:29 深夜i     --     --
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++提供了灵活且易用的文本文件读写操作,可以满足多种应用场景的需求。在实际编程过程中,需根据不同情况灵活选择读写模式及处理方法,以保证文件操作的正确性和高效性。

  
  

评论区

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