21xrx.com
2024-09-17 03:28:37 Tuesday
登录
文章检索 我的文章 写文章
C++中如何使用ifstream?
2023-07-05 09:37:44 深夜i     --     --
C++ ifstream 文件读取

ifstream是C++标准库中的一个输入流类,用于读取文件内容。在编写C++程序时,经常需要读取外部文件的内容,如配置文件、数据文件等,这时可以使用ifstream来实现文件的读取。

下面是一个使用ifstream读取文件的示例程序:


#include <iostream>

#include <fstream>

using namespace std;

int main() {

  ifstream infile("file.txt"); // 打开名为file.txt的文件

  if (!infile) { // 判断文件是否成功打开

    cerr << "Unable to open file" << endl;

    exit(1); // 文件无法打开,退出程序

  }

  // 逐行读取文件内容并输出

  string line;

  while (getline(infile, line))

    cout << line << endl;

  

  // 关闭文件

  infile.close();

  return 0;

}

首先,在程序中包含头文件iostream和fstream。接着,使用ifstream类定义一个名为infile的对象,并在构造函数中指定要读取的文件名。如果文件无法打开,则使用cerr输出错误信息并调用exit(1)函数退出程序。

然后,使用getline函数逐行读取文件内容,并输出到控制台。最后,使用infile.close()函数关闭文件流。

除了使用getline函数逐行读取文件内容外,还可以使用>>运算符逐个读取文件中的数据。例如,读取文件中的整数并计算它们的和,可以使用以下代码:


#include <iostream>

#include <fstream>

using namespace std;

int main() {

  ifstream infile("data.txt"); // 打开名为data.txt的文件

  if (!infile) { // 判断文件是否成功打开

    cerr << "Unable to open file" << endl;

    exit(1); // 文件无法打开,退出程序

  }

  // 逐个读取整数,并累加它们的和

  int sum = 0, num;

  while (infile >> num) {

    sum += num;

  }

  // 输出计算结果

  cout << "Sum = " << sum << endl;

  // 关闭文件

  infile.close();

  return 0;

}

在这个程序中,首先使用ifstream类定义一个名为infile的对象,并在构造函数中指定要读取的文件名。然后,使用>>运算符逐个读取文件中的整数,并累加它们的和。最后,输出计算结果并关闭文件流。

综上所述,使用ifstream可以方便地读取外部文件的内容,在编写C++程序时非常实用。

  
  

评论区

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