C语言文件操作函数——fopen和freopen的区别
2017-04-04 15:02
330 查看
C语言中freopen()函数是用来重新定向的,所谓重新定向是给输入和输出的位置重新定向。原本输入位置是键盘缓存区,输出在屏幕上,用了重新定向后可以将输入位置改变成一个文件,而输出位置也可以输出到一个文件中,具体代码可以这么写:
这里输入和输出便都在文件中操作了。可是这样做有一个弊端,就是所有输入输出都将在文件中操作,如何灵活控制呢?这就要用到fopen()函数了,可以自由在文件输入输出中转换,具体语法是:
这里函数稍微复杂了些,不过仔细看看也蛮简单的,最重要的是多了文件关闭操作,这样是为了不持续占用系统资源。在读取、写入操作时用“rb”的原因是为了兼容Linux系统,只在windows下运行只要“r”即可,同样,scanf和printf函数都要改成fscanf和fprintf,在前面加上你要输入的文件和输出的文件名,这样就可以有选择性的操作文件了。
原文链接
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,在前面加上你要输入的文件和输出的文件名,这样就可以有选择性的操作文件了。
原文链接
相关文章推荐
- C语言文件操作函数freopen详细解析
- fgetc()/fputc()/fgets()/fputs()/fread()/fwrite()/fopen()/fclose() 等C语言文件操作函数
- linux c语言之文件操作相关函数--fopen(),fopen_s(),fread(),fwrite(),fclose(),
- c语言中所有文件操作函数详解fopen、fwrite、fread、fgetc、fputc、fscanf、fprintf、ftell、fseek等函数
- C语言几个文件操作函数fopen(),fseek(),fscanf(),fwrite()
- c语言中所有文件操作函数详解fopen、fwrite、fread、fgetc、fputc、fscanf、fprintf、ftell、fseek等函数
- c语言中所有文件操作函数详解fopen、fwrite、fread、fgetc、fputc、fscanf、fprintf、ftell、fseek等函数
- [小结]C语言的文件操作函数fopen,fread,fwrite注意点
- c语言文件操作函数应用(1) ——学习整理
- C语言文件读写操作中缓冲区问题和setbuf函数详解
- C语言文件操作函数大全
- C语言文件操作 fopen, fclose, mkdir(打开关闭文件,建文件夹,判断文件是否存在可读或可写)
- C语言文件操作函数大全(看到总结的真的很好,就转载贡献给大家了)
- C语言文件操作函数大全
- C语言文件操作函数大全
- Linux(C/C++)下的文件操作open、fopen与freopen
- C语言中常用的文件操作函数
- c语言关于文件操作的常用函数(新手入门看)
- C语言相关文件操作函数
- Linux(C/C++)下的文件操作open、fopen与freopen