您的位置:首页 > 编程语言 > C语言/C++

C语言文件操作函数——fopen和freopen的区别

2017-04-04 15:02 330 查看
C语言中freopen()函数是用来重新定向的,所谓重新定向是给输入和输出的位置重新定向。原本输入位置是键盘缓存区,输出在屏幕上,用了重新定向后可以将输入位置改变成一个文件,而输出位置也可以输出到一个文件中,具体代码可以这么写:

freopen ("text.txt","r",stdin);  freopen ("text1.txt","w",stdout);


这里输入和输出便都在文件中操作了。可是这样做有一个弊端,就是所有输入输出都将在文件中操作,如何灵活控制呢?这就要用到fopen()函数了,可以自由在文件输入输出中转换,具体语法是:

FILE *fin,*fout;
fin = fopen("text.txt","rb");
fout = fopen("text1.txt","wb");
fscanf (fin,"%d",&x);
fprintf (fout,"%d",x);
fclose(fin);
fclose(fout);


这里函数稍微复杂了些,不过仔细看看也蛮简单的,最重要的是多了文件关闭操作,这样是为了不持续占用系统资源。在读取、写入操作时用“rb”的原因是为了兼容Linux系统,只在windows下运行只要“r”即可,同样,scanf和printf函数都要改成fscanf和fprintf,在前面加上你要输入的文件和输出的文件名,这样就可以有选择性的操作文件了。

原文链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: