C++编程思想 第1卷 第2章 文件的读写 把文件拷贝成单独的string对象

  string具有动态特性,不必担心string的内存分配,只管添加新内容进去就行了,string会
自动扩展以保持新的输入。
  把整个文件都输入到一个字符串中,好处之一就是,string类有许多函数可用来对字符串
进行查找和操作,使用它们可以把文件当成单个的字符串来处理。但也有一定的局限性。
把一个文件作为许多行的集合而不是一大段文本来处理,通常是很方便的。例如,如果想

对每一行都加上行号,把每行作为一个单独的string对象会非常容易。


//: C02:FillString.cpp
// From Thinking in C++, 2nd Edition
// Available at http://www.BruceEckel.com
// (c) Bruce Eckel 2000
// Copyright notice in Copyright.txt
// Read an entire file into a single string
#include <string>
#include <iostream>
#include <fstream>
using namespace std;

int main() {
  ifstream in("FillString.cpp");
  string s, line;
  while(getline(in, line))
    s += line + "\n";
  cout << s;
  getchar();
} ///:~


输出
//: C02:FillString.cpp
// From Thinking in C++, 2nd Edition
// Available at http://www.BruceEckel.com
// (c) Bruce Eckel 2000
// Copyright notice in Copyright.txt
// Read an entire file into a single string
#include <string>
#include <iostream>
#include <fstream>
using namespace std;


int main() {
  ifstream in("FillString.cpp");
  string s, line;
  while(getline(in, line))
    s += line + "\n";
  cout << s;
} ///:~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值