1. 簡介
fscanf
函數是 C 言語頂用於從文件中讀取格局化數據的常用函數。它容許順序員按照指定的格局從文件中讀取數據,並將其存儲到響應的變量中。本文將具體介紹 fscanf
函數的參數、用法以及一些實用的技能。
2. 函數原型
int fscanf(FILE *stream, const char *format, ...);
stream
:指向要讀取數據的文件的指針。format
:格局字符串,指定了讀取數據的範例跟格局。...
:可變參數列表,表示要讀取的數據的變量。
3. 參數剖析
3.1 stream
stream
參數必須是一個指向 FILE
範例的指針,它指向要讀取數據的文件。平日,這個指針是經由過程 fopen
函數打開文件時前去的。
3.2 format
format
參數是一個格局字符串,它指定了讀取數據的範例跟格局。格局字符串由以下部分構成:
- 轉換闡明符:指定讀取數據的範例,如
%d
表示讀取整數,%f
表示讀取浮點數。 - 寬度闡明符:指定讀取數據的寬度,如
%2d
表示讀取寬度為 2 的整數。 - 長度潤飾符:指定讀取數據的長度,如
%ld
表示讀取長整數。
3.3 可變參數
可變參數列表表示要讀取的數據的變量。每個變量都必須與 format
中的轉換闡明符相婚配。
4. 實戰技能
4.1 讀取整數
int a, b, c;
fscanf(fp, "%d %d %d", &a, &b, &c);
4.2 讀取浮點數
float x, y, z;
fscanf(fp, "%f %f %f", &x, &y, &z);
4.3 讀取字符串
char str[100];
fscanf(fp, "%99s", str);
4.4 跳過空白字符
利用 %*s
或 %*[^\n]
可能跳過空白字符。
fscanf(fp, "%*s %d", &a);
// 或許
fscanf(fp, "%*[^\n] %d", &a);
4.5 讀取牢固寬度的數據
利用寬度闡明符可能讀取牢固寬度的數據。
int a;
fscanf(fp, "%5d", &a);
5. 總結
fscanf
函數是 C 言語中處理文件輸入輸出的重要東西。經由過程本文的介紹,信賴妳曾經控制了 fscanf
函數的參數、用法跟實戰技能。盼望這些知識可能幫助妳在 C 言語編程中愈加隨心所欲。