Fscanf什麼意思
fscanf
是一個 C 語言的標準庫函數,用於從檔案中讀取數據。其中,f
代表檔案(file),scanf
則是一個格式化輸入函數。
fscanf
的基本用法如下:
int fscanf(FILE *stream, const char *format, ...);
stream
是檔案描述符,指向一個已經打開的檔案。format
是一個格式字元串,用來指定從檔案中讀取數據的格式。...
是可變參數,用來接收format
字元串中指定的數據類型。
fscanf
函數會根據 format
字元串中的格式說明符從檔案中讀取數據,並將其存放到 ...
指定的地址中。如果讀取成功,則返回實際讀取的成功項數;如果讀取失敗,則返回一個負值。
下面是一個簡單的例子:
#include <stdio.h>
int main() {
// 打開一個檔案
FILE *file = fopen("example.txt", "r");
if (file == NULL) {
perror("打開檔案失敗");
return 1;
}
// 從檔案中讀取數據
char name[32];
int age;
if (fscanf(file, "%s %d", name, &age) != 2) {
fprintf(stderr, "讀取數據失敗");
return 1;
}
// 輸出讀取到的數據
printf("name: %s, age: %d\n", name, age);
// 關閉檔案
fclose(file);
return 0;
}
在上面的例子中,我們打開了一個名為 example.txt
的檔案,並從中讀取了兩個數據:一個字元串(姓名)和一個整數(年齡)。fscanf
的 format
字元串 "%s %d"
告訴函數從檔案中讀取一個字元串並存放到 name
陣列中,然後讀取一個整數並存放到 age
變量中。
請注意,fscanf
函數不會自動忽略換行符,如果你想要忽略換行符,你可能需要在 format
字元串中使用 %*[^\n]
或 %*s
這樣的格式說明符。