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