21xrx.com
2024-11-08 21:59:00 Friday
登录
文章检索 我的文章 写文章
C++文件流输入操作指南
2023-07-14 12:30:58 深夜i     --     --
C++ 文件流 输入操作 指南

C++ 文件流输入操作指南

文件流是 C++ 标准库中非常重要的一部分,它可以方便地进行文件的读写操作。不同于标准输入输出流,文件流输入输出流需要显式地关联一个文件对象,才能进行正常操作。在 C++ 中,文件流包括了两种类型:ifstream 和 fstream。本文主要介绍 C++ 文件流输入操作的相关内容。

1. 以文本格式读取文件

当以文本格式读取文件时,可以使用 ifstream 类来实现。下面是一个读取文件中每一行的代码实现:


#include <iostream>

#include <fstream>

#include <string>

int main()

{

  std::ifstream file("input.txt");

  std::string line;

  if (file.is_open())

  {

    while (std::getline(file, line))

    {

      std::cout << line << '\n';

    }

    file.close();

  }

  else

  {

    std::cout << "Unable to open file." << '\n';

    return 1;

  }

  return 0;

}

上述代码中,file 是创建的 ifstream 对象,它与 input.txt 文件关联。while 循环中的 std::getline 函数可以逐行读取文件中的内容,并将其存储在 line 变量中,最后通过 std::cout 输出到控制台。

2. 以二进制格式读取文件

如果以二进制方式读取文件,可以使用 C++ fstream 类来完成。一个简单的例子:


#include <iostream>

#include <fstream>

#include <string>

struct Data

  int value1;

  double value2;

  char value3;

;

int main()

{

  std::fstream file("data.bin", std::ios::in | std::ios::binary);

  if (file.is_open())

  {

    Data data;

    while (file.read(reinterpret_cast<char*>(&data), sizeof(data)))

    {

      std::cout << data.value1 << " " << data.value2 << " " << data.value3 << '\n';

    }

    file.close();

  }

  else

  {

    std::cout << "Unable to open file." << '\n';

    return 1;

  }

  return 0;

}

上述代码中,file 是创建的 fstream 对象,它与 data.bin 文件关联。在 while 循环中,通过调用 file.read 函数可以连续读取文件中的二进制数据,并将其存储在定义的 Data 结构体对象 data 中,最后输出到控制台。

通过上述两个例子,我们可以发现 C++ 文件流输入操作的具体实现方式是很简单的,只需要了解需要读取或操作的文件所具有的特性,然后在代码中合适的位置调用对应的函数即可。

  
  

评论区

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