21xrx.com
2024-12-22 21:47:58 Sunday
登录
文章检索 我的文章 写文章
如何在C++中读取文件
2023-07-07 04:07:53 深夜i     --     --
C++文件读取 ifstream流 文件路径 读取数据 异常处理

在C++中,读取文件是一个常见的操作。无论是读取文本文件,还是读取二进制文件,在C++中都有对应的函数可以使用。下面介绍一些C++中常用的文件读取函数和操作方法。

打开文件

在C++中,使用文件读取函数之前,需要先打开文件。可以使用标准库中的fstream头文件,通过定义fstream对象来打开文件。

例如,打开一个名为“test.txt”的文本文件,可以这样写:


#include<fstream>

using namespace std;

int main()

{

  fstream file;

  file.open("test.txt", ios::in);//ios::in表示以只读方式打开文件

  return 0;

}

如果文件不存在,则会创建一个新文件,如果文件已经存在,则会打开已有文件。

读取文本文件

读取文本文件时,可以使用getline()函数逐行读取文件的内容,直到文件的末尾。

例如,读取“test.txt”文件中的内容,可以这样写:


#include<iostream>

#include<fstream>

#include<string>

using namespace std;

int main()

{

  fstream file;

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

  if(file)

  {

    string line;

    while(getline(file,line)) //逐行读取文件内容

    

      cout<<line<<endl;

    

    file.close(); //关闭文件

  }

  else

  

    cout<<"文件打开失败"<<endl;

  

  return 0;

}

在这个程序中,先检查文件是否成功打开,然后逐行读取文件中的内容,直到文件的末尾。读取的内容被存储在一个string类型的变量中,并输出到控制台。

读取二进制文件

在C++中,可以使用read()函数来读取二进制文件。read()函数从指定的文件中读取指定字节数的数据,将其存储在指定的缓冲区中。

例如,读取“test.bin”文件中的内容,可以这样写:


#include<iostream>

#include<fstream>

using namespace std;

int main()

{

  fstream file;

  file.open("test.bin", ios::in | ios::binary);

  if(file)

  {

    int num;

    while (file.read((char*)&num, sizeof(int))) //逐个读取int类型的数值

    

      cout<<num<<endl;

    

    file.close(); //关闭文件

  }

  else

  

    cout<<"文件打开失败"<<endl;

  

  return 0;

}

在这个程序中,先检查文件是否成功打开,并以二进制方式打开文件。然后使用while循环读取文件中的内容,通过read()函数读取一个int类型的数值,并将其输出到控制台。当read()函数返回false时,说明已经读取到了文件的末尾,可以关闭文件。

总结

在C++中,读取文件是一个常见的操作,只需要使用 fstream 头文件中的对象和适当的操作,在不同的场景中进行文件读取即可。需要注意的是,读取文件时应该记得检查文件是否正常打开,同时在读取二进制文件时要注意数据的类型和大小,避免出现类型转换错误。

  
  

评论区

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