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 這樣的格式說明符。