c_cpp C ++一次将整个文件读入内存的.cpp

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp C ++一次将整个文件读入内存的.cpp相关的知识,希望对你有一定的参考价值。

#include <iostream>
#include <fstream>
using namespace std;

int main () {
  filebuf *pbuf;
  ifstream filestr;
  long size;
  char * buffer;
  // 要读入整个文件,必须采用二进制打开 
  filestr.open ("test.txt", ios::binary);
  // 获取filestr对应buffer对象的指针 
  pbuf=filestr.rdbuf();
  
  // 调用buffer对象方法获取文件大小
  size=pbuf->pubseekoff (0,ios::end,ios::in);
  pbuf->pubseekpos (0,ios::in);
   
  // 分配内存空间
  buffer=new char[size];
   
  // 获取文件内容
  pbuf->sgetn (buffer,size);
  
  filestr.close();
  // 输出到标准输出
  cout.write (buffer,size);
  
  delete []buffer;
  return 0;
}

以上是关于c_cpp C ++一次将整个文件读入内存的.cpp的主要内容,如果未能解决你的问题,请参考以下文章

C语言中fopen函数打开文件后,文件以何种方式读入内存?

C语言从文件中读出数据构造成链表

AVAudioPlayer 是从磁盘流式传输文件,还是一次将其全部加载到内存中?

PHP读取大文件的几种方法介绍

排序(二) 外部排序

xml解析