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;
}
输出:
兔子的胆小是出了名的,常常受到的惊吓老是像石头一样压在它们的心上。
有一次,浩瀚兔子聚积在一起,为本身的胆小无能而惆怅,叹伤本身的糊口中布满了危险和惊骇。
它们越谈越悲痛,就仿佛已经有很多不幸产生在本身身上,而这也就是它们之所以成为兔子的原因。
到了这耕境地,负面的想像便无尽头地涌现出来。
它们怨叹本身天生不幸,既没有力气和翅膀,也没有牙齿,日子只能在东怕西怕中渡过,
就连想要丢弃一切大睡一觉,也有什么都听得见的长耳朵的阻扰,赤红的眼睛也就变得越发鲜红了。
它们以为本身的这种糊口是毫无意义的,这又成了它们自我厌恶的来源。它们都以为,与其一生心惊胆战,还不如一死了之好。
于是,它们一致抉择从山崖上跳下去告终本身的生命,竣事一切烦恼。就这样抉择了,于是它们一齐奔向山崖,想要投河自尽。
这时,一些青蛙正围在湖边蹲着,听到急急的脚步声,如临大敌,立即跳到深水里逃命去了。
这是兔子每次到池塘边城市看到的情景,可是本日,有一只兔子溘然大白了什么,
它高声地说:“快停下来,我们不必吓得去寻死寻活了,因为我们此刻可以瞥见,尚有比我们更胆小的动物呢!”
这么一说,兔子们的脸色奇妙地豁然开朗起来了,仿佛有一股勇气喷涌而出,于是它们眉开眼笑回家去了。
大原理:不要为我们此刻的遭遇就抱怨运气的不公,实际上,世界上尚有许多比我们更不幸的人,
想想那些更不幸的人仍旧坚定地在世,我们又为什么不能呢?
作者:csdn博客 Spike_King