文件拷贝
getline(fin,s),成功读出一行,把读出的结果放入s,并返回true,如果到达结束,就返回false
getline读出一行,遇到换行符则终止,将丢弃换行符而不存入s对象
因此,想使得拷贝的文件和源文件看上去一样,必须加上换行符
//文件读写示例
//:
#include <string>
#include <fstream>
#include <iostream>
using namespace std;
int main(void){
ifstream fin("Copy1.txt");
ofstream fout("Copy2.txt");
string s;
while(getline(fin,s)){
fout<<s<<"\n";
}
return 0;
}//:~
文件读出到字符串中
把整个文件单独拷贝成单独的一个string对象
string类具有动态性,不必担心string的内存分配,可以自动扩展
string类有许多函数可用来对字符串进行查找和操作,使用string可以把文件当做单个字符串来处理
//:
#include <string>
#include <fstream>
#include <iostream>
using namespace std;
int main(void){
ifstream fin("Copy1.txt");
string line,s;
while(getline(fin,line)){
s+=line+"\n";
}
cout<<s<<std::endl;
return 0;
}//:~