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命令操作一个完整流程

VSCode 如何操作用户自定义代码片段(快捷键)

[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础

C++ 代码片段执行

编写一个程序, 将 a.txt 文件中的单词与 b.txt 文件中的 单词交替合并到 c.txt 文件中, a.txt 文件中的单词用回车符 分隔, b.txt 文件中用回车或空格进行分隔。(代码片段