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;
}

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/cplus/

输出:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

作者:csdn博客 Spike_King

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索ios
, string
, include
, std
, seekg
, contents
, in
文件读入字符串
cin读入字符串 string、c 读入string、scanf读入string、string 读入、c string读入一行,以便于您获取更多的相关知识。

时间: 2025-01-02 18:56:00

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

Python 文本文件的内容读入操作

python 将文本文件的内容读入可以操作的字符串变量非常容易.文件对象提供了三个"读"方法: .read()..readline() 和 .readlines().每种方法可以接受一个变量以限制每次读取的数据量,但它们通常不使用变量. .read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中.然而 .read() 生成文件内容最直接的字符串表示,但对于连续的面向行的处理,它却是不必要的,并且如果文件大于可用内存,则不可能实现这种处理 打开文件 print "

将文本文件的内容或者文字保存成图片的方法介绍

 这篇文章主要介绍了将文本文件的内容或者文字保存成图片的方法,需要的朋友可以参考下 调用方法: 代码如下: ConvertTextFileToImage(Server.MapPath("~/Log.txt"),Server.MapPath("~/Log.png"));     实现代码:  代码如下: void ConvertTextFileToImage(String textFile,String imageFile) { System.Drawing.Font

数据库-如何在文本文件中提取指定内容保存到另一个文件里?

问题描述 如何在文本文件中提取指定内容保存到另一个文件里? 如何在文本文件中提取指定内容保存到另一个文件里? 我有一个100万条记录的文本文件,其中一条记录内容如下: IMSI=4600XXXXXXXXXXX;MSISDN=8613XXXXXXXXX;DEFCALL=TS11;CURRENTNAM=BOTH;CAT=COMMON;TBS=TS11&TS12;VLR=8613XXXXXXX;MSC=8613XXXXXX;SGSN=8613XXXXXX;SUB_AGE=0;UPL_TIME=1436

小白求教一个C++问题,关于将TXT中的文件读入并以此数据创建链表的问题。

问题描述 小白求教一个C++问题,关于将TXT中的文件读入并以此数据创建链表的问题. 编写一个程序实现如下操作: (1)从文本文件student.txt读入存放于该文件中的学生数据(学号.姓名.性别.专业),构建一个学生数据链表(单向链表): (2)对所建立的学生数据链表按学号排序: (3)将存放于已排序的学生数据链表中的学生数据写入student1.txt中. 解决方案 http://blog.csdn.net/jiaxiaoye2005/article/details/8446245http

PHP读取txt文件的内容并赋值给数组的代码_php技巧

2010-12-15.txt的文件内容如下: 复制代码 代码如下: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 T01 T02 T03 T04 T05 T06 T07 T08 T09 T10 T11 T12 T13 T14 T15 T16 思路如下:使用file_get_contents()获取txt文件的内容,然后通过explode()把获得的字符串转化为数组.获得数组长度可以使用count()

C#读取txt内容,并将读取的txt里面的内容写入Excel中?

问题描述 txt内容如下:序号姓名籍贯名次语文英语数学11小明江苏18692952小红四川29088923小刚浙江38586924小李山东4828489 解决方案 解决方案二:然后呢..你是不会读取还是不会分割?还是不会写到xls里啊?还是所有都不会....最起码的你应该丢出来点代码吧.....解决方案三:读文件http://msdn.microsoft.com/zh-cn/library/system.io.streamreader(VS.80).aspxexcel操作http://www.c

如何实现把student.txt中的内容显示在JTextArea 中 并且实现按钮事件

问题描述 请把以下代码student加到gui代码中:packagejavaapplication1;publicclassdemoextendsjavax.swing.JFrame{publicdemo(){initComponents();}@SuppressWarnings("unchecked")privatevoidinitComponents(){jScrollPane1=newjavax.swing.JScrollPane();jTextArea1=newjavax.sw

java代码-Java GUI如何将文件中的内容读入Jtable中

问题描述 Java GUI如何将文件中的内容读入Jtable中 文件中有四列信息,分别是不同的数据类型,想要用DefaulttableModel读进去,但是构造函数需要一个二维数组以及一个一维数组,二维数组那个地方由于只能定义一种类型,但是需要的数据有多种类型,不知道应该怎样解决了

c语言-如何用C语言实现.txt文件中内容的添加

问题描述 如何用C语言实现.txt文件中内容的添加 问题,如何用C语言中append()函数实现5.9.13行的功能:依次将1.2.3写入到D盘ccc.txt中. void main(){ ............1 int a=4,b=2: ............2 if(a*b==8) ............3 { ............4 //将1写入D盘ccc.txt文件中 ............5 } ............6 if(a-b==2) ............7