fscanf函數是C語言中用于從文件中讀取格式化數據的函數。其函數原型為:
int fscanf(FILE *stream, const char *format, ...)
其中,stream是指向要讀取的文件的指針;format是一個字符串,指定了讀取數據的格式;…表示可變參數,用于接收讀取到的數據。
fscanf函數根據format字符串中的格式控制符,從文件中讀取數據,并將讀取到的數據按照相應的類型存儲到對應的變量中。常用的格式控制符包括:
例如,以下代碼從文件中讀取一個整型數值并存儲到變量num中:
int num;
FILE *fp;
fp = fopen("file.txt", "r");
fscanf(fp, "%d", &num);
fclose(fp);
注意,fscanf函數在讀取數據時會跳過空白字符(空格、制表符、換行符等),直到找到非空白字符為止。另外,fscanf函數返回成功讀取的參數個數,如果讀取失敗(文件結束或格式不匹配等),則返回EOF(-1)。
需要注意的是,使用fscanf函數時應確保文件已經成功打開,并在讀取完數據后及時關閉文件,以免造成文件資源的浪費或數據不一致的問題。