vs2019 文件读取操作


 1 #include<stdio.h>
 2 #define INF 10000000
 3 int main()
 4 {
 5     FILE* fin , * fout ;
 6     errno_t afin, afout;
 7     afin = fopen_s(&fin, "data.in", "rb");
 8     afout = fopen_s(&fout, "data.out", "wb");
 9     int x, n = 0, min = INF, max = -INF, s = 0;
10     if (fout != NULL && fin != NULL) {
11         while (fscanf_s(fin, "%d", &x)==1) {
12             s += x;
13             if (x < min) min = x;
14             if (x > max) max = x;
15             n++;
16         }
17         fprintf(fout, "%d %d %.3f\n", min, max, (double)s / n);
18         fclose(fin);
19         fclose(fout);
20     }
21     return 0;
22 }

1.在vs2019中直接用fopen等以前的文件操作函数是会报错的,这里使用的加了“_s”,简单的查了一下,新版和老版本函数的这种类型的改动是出于安全和方便考虑

fopen_s:vs2019使用的话需要注意这个函数的返回值不和之前一样返回指针,而是errno_t(错误类型),形式是一些数值,通过这些数值可以比较快查询到出错的原因;另一个需要注意的是参数的类型,是(FILE **_Stream,const char*_FILEName,const char  *Mode)

fscanf_s:这里要注意返回类型是int

2.文件的路径要注意是直接放在工程下目录,当然可以放在别处,不过需要改代码了;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM