freopen()函数用于替换文件中的数据流。
freopen()函数 语法
FILE*freopen(char*file,char*mode,FILE*p);
参数file为要打开的文件;
参数mode为文件打开的方式;
参数p为文件指针。
freopen()函数成功执行时返回非0值,否则返回0。
freopen()函数 示例
本示例使用freopen函数将数据”This will go into a file.”替换到一个新文件1.txt中,其具体代码如下所示:
#include<stdio.h>
int main(void)
{
if(freopen("1.txt","w",stdout)==NULL)/*替换标准输出文件上的数据到新文件*/
fprintf(stderr,"error redirecting stdout ");/*输出错误信息*/
printf("This will go into a file.");/*标准输出文件上的数据流将被替换到新文件中*/
fclose(stdout);/*关闭新文件*/
return 0;
}
运行程序,在当前目录下生成文件1.txt,将输出的字符串重新写入文件1.txt中,结果如图所示。