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;
}

 

posted @ 2018-12-09 20:04  xzhws  阅读(352)  评论(0编辑  收藏  举报