C文件操作
Posted guoyujiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C文件操作相关的知识,希望对你有一定的参考价值。
文件操作步骤:
1、创建文件指针
2、关联文件
3、操作文件
4、关闭文件
question: 求文件中数字的最大值、最小值、平均值
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <limits.h> 4 5 int main() 6 { 7 int x, n=0, sum=0; 8 int min=INT_MAX, max=INT_MIN;//click this link 9 FILE *fin, *fout;//1、创建文件指针 10 11 //2、关联文件 12 fin = fopen("data.in", "r"); 13 fout = fopen("data.out", "w"); 14 15 //3、操作文件 16 while(fscanf(fin, "%d", &x) == 1){ 17 sum += x; 18 if(x<min) min=x; 19 if(x>max) max=x; 20 n++; 21 } 22 23 fprintf(fout, "min=%d max=%d avg=%.3lf ", 24 min, max, (double)sum/n); 25 26 //关闭文件 27 fclose(fin); 28 fclose(fout); 29 30 return 0; 31 }
补充:
1、freopen用来重定义输入输出流
重定义:改变标准输入输出流的含义
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <limits.h> 4 5 int main() { 6 int x,n=0,sum=0; 7 int min=INT_MAX, max=INT_MIN; 8 9 //重定义输入输出流 10 freopen("input.txt", "r", stdin);//freopen将stdin含义改变 11 freopen("output.txt", "w", stdout); 12 13 while(scanf("%d",&x) == 1){ 14 sum += x; 15 if(x<min) 16 min=x; 17 if(x>max) 18 max=x; 19 n++; 20 } 21 printf("min=%d max=%d avg=%.3lf ", 22 min, max, (double)sum/n); 23 return 0; 24 }
2、scanf / printf 是 fscanf / fpirintf 应用于 stdin / stdout 的特例
即 fprintf(stdout, "%.3f ", 3.14159);
以上是关于C文件操作的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段15——git命令操作一个完整流程
VSCode自定义代码片段15——git命令操作一个完整流程
[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础
编写一个程序, 将 a.txt 文件中的单词与 b.txt 文件中的 单词交替合并到 c.txt 文件中, a.txt 文件中的单词用回车符 分隔, b.txt 文件中用回车或空格进行分隔。(代码片段