溫馨提示×

c語言fgets函數(shù)的用法是什么

小億
174
2023-11-14 22:37:32
欄目: 編程語言

fgets函數(shù)是C語言中的輸入函數(shù),用于從指定的文件流中讀取一行字符,并將其存儲到指定的字符數(shù)組中。

它的聲明如下:

char *fgets(char *str, int n, FILE *stream);

參數(shù)解釋:

  • str:指向字符數(shù)組的指針,用于存儲讀取的字符。
  • n:要讀取的最大字符數(shù)(包括空字符’\0’),以防止溢出。
  • stream:指向要讀取的文件流的指針。

fgets函數(shù)會讀取指定文件流中的字符,直到遇到換行符(包括換行符),或者讀取了n-1個字符,或者到達文件末尾為止。它將讀取的字符存儲到str指向的字符數(shù)組中,并在末尾添加’\0’作為字符串的結(jié)束標志。

fgets函數(shù)的返回值是一個指向str的指針,如果讀取成功,則返回str的值;如果讀取失?。ㄈ绲竭_文件末尾或發(fā)生錯誤),則返回NULL。

示例用法:

#include <stdio.h>

int main() {
    char str[100];
    FILE *file = fopen("example.txt", "r"); // 打開文件 example.txt 用于讀取
    if (file != NULL) {
        if (fgets(str, sizeof(str), file) != NULL) {
            printf("讀取的內(nèi)容:%s", str);
        }
        fclose(file); // 關(guān)閉文件
    }
    return 0;
}

以上示例代碼中,我們打開了一個名為 “example.txt” 的文件用于讀取。然后,使用fgets函數(shù)從文件中讀取一行內(nèi)容并存儲到str字符數(shù)組中,最后將讀取的內(nèi)容打印出來。注意,這里需要檢查文件是否成功打開(file != NULL)和fgets函數(shù)的返回值(是否為NULL),以確保讀取操作成功。

總結(jié):fgets函數(shù)可以用于從文件中讀取一行字符,并將其存儲到字符數(shù)組中。它是C語言中常用的輸入函數(shù)之一。

0