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;
} ///:~