日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言 读取文件内容

發布時間:2025/5/22 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言 读取文件内容 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

讀取文件文本內容:

要讀取的目標文件:

要讀取的目標內容:

運行前請將代碼文件和要讀取的文件放在同一目錄下。

#include <stdio.h>int main(void){int ch;FILE *fp;char fname[FILENAME_MAX];printf("文件名:");scanf("%s", fname);if((fp = fopen(fname, "r")) == NULL){printf("文件打開失敗。\n");} else {while ((ch = fgetc(fp)) != EOF){putchar(ch);}fclose(fp);}return 0; }

運行結果:

#define FILENAME_MAX 1024;
在該運行環境中保證能夠打開文件,保持這樣的文件名的最大長度所需的數組元素個數。

fgetc函數:

頭文件原型說明返回值
#include <stdio.h>int fgetc(FILE *stream);從stream指向的輸入流(若存在)中讀取unsigned char型的下一個字符的值,并將它轉換為int型,然后,若定義了流的文件位置指示符,則將其向前移動。返回stream所指輸入流中的下一個字符。若在流中檢查到文件末尾,則設置該流的文件結果指示符并返回EOF。如果發生讀取錯誤,就設置該流的錯誤只是符并返回EOF。

當從文件正常讀取到字符時,就會進入 while 循環語句,通過 putchar(ch) 語句將讀取到的字符 ch 顯示界面上。
當達到文件末尾(后面沒有字符)或者有錯誤發生時,就會結束 while 語句循環并關閉文件,程序結束運行。


讀取文件數據內容:

要讀取的數據內容:

#include <stdio.h>int main(void){FILE *fp;int count = 0;char name[100];double height, weight;double hsum = 0.0;double wsum = 0.0;if ((fp = fopen("students.txt", "r")) == NULL){printf("\a文件打開失敗。 \n");} else {while (fscanf(fp, "%s%lf%lf", name, &height, &weight) == 3){printf("%-10s %5.1f %5.1f\n", name, height, weight);count++; // 計算數據的條數hsum += height; // 對身高求和wsum += weight; // 對體重求和}printf("-------------------------\n");printf("平均 %5.1f %5.1f\n", hsum / count, wsum / count);fclose(fp);}return 0; }

運行結果:

fscanf函數:

頭文件原型說明返回值
#include <stdio.h>int fscanf(FILE *stream, const char *format, …);從stream指向的流(而不是從標準輸入流)中讀取數據。將讀取的數據格式轉換,并將轉換結果保存至format后面的實參所指向的對象。format指向的字符串為格式控制字符串,它指定了可輸入的字符串及其賦值時轉換方法。格式控制字符串中可以不包含任何命令,也可包含多個命令。若沒有執行任何轉換就發生了輸入錯誤,則返回宏定義EOF的值。否則,返回成功賦值的輸入項數。若在輸入中發生匹配錯誤,則返回的輸入項數會少于轉換說明符對應的實參個數,甚至為0。
fscanf(fp, "%s%lf%lf", name, &height, &weight);

從流 fp 中讀取1個字符串和2個double型實數,分別將它們保存至變量 name、height 和 weight中。

注:scanf 函數 和 fscanf函數會返回讀取到的項目數。

該程序中,當正常讀取到姓名、身高、體重項目返回 3時,就會繼續while 語句循環直至讀取不到信息(已讀取完所有信息,或因出錯而不能進行讀取)。

總結

以上是生活随笔為你收集整理的C语言 读取文件内容的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。