在C++中,一般我们使用freopen来进行一些文件操作,但是freopen的bug很多,只能读入单个文件,那有没有读入多个文件的办法呢?
当然有!
那就是fsream!
举个例子:
让你将两个文件的字符串交换。
用freopen完全做不了,用fstream:
#include<bits/stdc++.h>
using namespace std;
string a,b;
int main() {
fstream fin,fout;
fin.open("1.txt",fstream::in);
fin>>a;//读入1.txt中的字符串
fin.close();
fin.open("2.txt",fstream::in);
fin>>b;//读入2.txt中的字符串
fin.close();
fout.open("2.txt",fstream::out);
fout<<a;//将1.txt中的字符串写入2.txt
fout.close();
fout.open("1.txt",fstream::out);
fout<<b;//将2.txt中的字符串写入1.txt
fout.close();
return 0;
}
根据我的注释,你是否看懂?
注意:如果你定义的是fstream s;
再执行s.open("1.txt",fstream::in);
你就不可以fin>>a;必须s>>a