freopen函数总结
函数原型:
freopen(const char * __restrict__ _Filename,const char * __restrict__ _Mode,FILE * __restrict__ _File)
其中__restrict__ _Filename是文件的路径,可以是绝对路径,也可以是相对路径。以windows为例,桌面上一个"in.txt"的路径可为"C:\Users\XXX\Desktop\in.txt",其中XXX是用户名。但是请注意当使用该路径时记得把路径中的'\'换成"\\",或者换成'/',不然路径会报错,应该是会把单独的'\'理解成转义字符吧....
第二个参数是__restrict__ _Mode,表示从标准输入流stdin或者标准输出流stdout中读取数据的的方式。对于标准输入流stdin,常常与"r"搭配;对于标准输出流stdout,常常与"w"搭配,并且如果输出时文件不存在会自动创建新的文件。
第三个参数是 __restrict__ _File,可以用做stdin或者stdout。
每次调用完freopen()函数后记得及时fclose(),后者的参数可选择为stdin或者stdout。
#include<cstdio> int main(int argc, char** argv) { freopen("C:\\Users\\XXX\\Desktop\\p1.txt","r",stdin);//利用freopen()代替标准输入流 freopen("C:\\Users\\XXX\\Desktop\\p3.txt","w",stdout);//利用freopen()代替标准输出流 int a,b; scanf("%d %d",&a,&b); printf("%d %d\n",a,b); fclose(stdin);//关闭标准输入流 fclose(stdout);//关闭标准输出流 return 0; }