Fscanf什麼意思

fscanf 是一個 C 語言的標準庫函數,用於從檔案中讀取數據。其中,f 代表檔案(file),scanf 則是一個格式化輸入函數。

fscanf 的基本用法如下:

int fscanf(FILE *stream, const char *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 的檔案,並從中讀取了兩個數據:一個字元串(姓名)和一個整數(年齡)。fscanfformat 字元串 "%s %d" 告訴函數從檔案中讀取一個字元串並存放到 name 陣列中,然後讀取一個整數並存放到 age 變量中。

請注意,fscanf 函數不會自動忽略換行符,如果你想要忽略換行符,你可能需要在 format 字元串中使用 %*[^\n]%*s 這樣的格式說明符。