C++流对象实现文件的读取写入文件(IO)

更多资料请点击:我的目录
本篇仅用于记录自己所学知识及应用,代码仍可优化,仅供参考,如果发现有错误的地方,尽管留言于我,谢谢。

#include <iostream>
#include <fstream>                                  //流对象头文件

using namespace std;

int main(int argc, char **argv)
{
    
    
  fstream fin,fout;
  fin.open(argv[1],ios_base::in);                   //只读形式打开文件1
  if(!fin.is_open())
  {
    
    
      perror("打开文件失败!\n");
      exit(0);
  }

  fout.open(argv[2],ios_base::out|ios_base::trunc); //只写形式打开文件2,如果文件存在则清空文件内容
  if(!fout.is_open())
  {
    
    
      perror("打开文件失败!\n");
      exit(0);
  }

  char *buf = (char *)calloc(1,1024);               //创建堆空间
  while(!fin.eof())                                 //判断是否到达文件1末尾
  {
    
    
      fin.read(buf,1024);                           //读取文件1内容
      fout.write(buf,fin.gcount());                 //写入到文件2内
  }

  fin.close();                                      //关闭文件1
  fout.close();                                     //关闭文件2
  free(buf);                                        //释放堆空间

  return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43793181/article/details/108322003