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