用C++一次读入和写出多个文件——fstream

在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

猜你喜欢

转载自blog.csdn.net/liuzich/article/details/107605277