首页 > 代码库 > 编程技巧 - 读取完整的文件(C++)

编程技巧 - 读取完整的文件(C++)

读取完整的文件(C++)


本文地址: http://blog.csdn.net/caroline_wendy


C++: 把文本文件(txt)的所有内容读入字符串(string), 最高效的方法.


代码:

/*
 * main.cpp
 *
 *  Created on: 2014年6月17日
 *      Author: Spike
 */

/*eclipse cdt, gcc 4.8.1*/

#include <iostream>
#include <fstream>
#include <string>
#include <cerrno>

std::string get_file_contents(const char *filename)
{
  std::ifstream in(filename, std::ios::in | std::ios::binary);
  if (in)
  {
    std::string contents;
    in.seekg(0, std::ios::end);
    contents.resize(in.tellg());
    in.seekg(0, std::ios::beg);
    in.read(&contents[0], contents.size());
    in.close();
    return(contents);
  }
  throw(errno);
}

int main (void)
{
	std::cout << get_file_contents("跳河的兔子.txt") << std::endl;
	return 0;
}

输出:

兔子的胆小是出了名的,经常受到的惊吓总是像石头一样压在它们的心上。

有一次,众多兔子聚集在一起,为自己的胆小无能而难过,悲叹自己的生活中充满了危险和恐惧。

它们越谈越伤心,就好像已经有许多不幸发生在自己身上,而这也就是它们之所以成为兔子的原因。

到了这种地步,负面的想像便无止境地涌现出来。

它们怨叹自己天生不幸,既没有力气和翅膀,也没有牙齿,日子只能在东怕西怕中度过,

就连想要抛弃一切大睡一觉,也有什么都听得见的长耳朵的阻扰,赤红的眼睛也就变得更加鲜红了。

它们觉得自己的这种生活是毫无意义的,这又成了它们自我厌恶的根源。它们都觉得,与其一生心惊胆战,还不如一死了之好。

于是,它们一致决定从山崖上跳下去了结自己的生命,结束一切烦恼。就这样决定了,于是它们一齐奔向山崖,想要投河自尽。

这时,一些青蛙正围在湖边蹲着,听到急促的脚步声,如临大敌,立刻跳到深水里逃命去了。

这是兔子每次到池塘边都会看到的情景,但是今天,有一只兔子突然明白了什么,

它大声地说:“快停下来,我们不必吓得去寻死寻活了,因为我们现在可以看见,还有比我们更胆小的动物呢!”

这么一说,兔子们的心情奇妙地豁然开朗起来了,好像有一股勇气喷涌而出,于是它们欢天喜地回家去了。

大道理:不要为我们现在的遭遇就埋怨命运的不公,实际上,世界上还有很多比我们更不幸的人,

想想那些更不幸的人仍旧坚强地活着,我们又为什么不能呢?