温馨提示×

C语言fgets函数及其用法

小亿
171
2024-01-02 15:47:26
栏目: 编程语言

fgets函数是C语言中用于从文件中读取字符串的函数。它的原型如下:

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

其中,str是用于存储读取字符串的数组,n是最大读取字符数(包括空字符’\0’),stream是指向文件的指针。

fgets函数会从指定的文件中读取一个字符串,并将其存储到str中,直到遇到换行符(包括换行符在内)。读取的字符串会自动在末尾添加空字符’\0’,以表示字符串的结束。

fgets函数的返回值是一个指向str的指针,即读取成功时返回str,读取失败时返回NULL。

fgets函数常用于从文件中逐行读取字符串,可以配合循环使用,如下所示:

#include <stdio.h>

int main() {
    FILE *file = fopen("example.txt", "r");
    if (file == NULL) {
        printf("文件打开失败\n");
        return 1;
    }
    
    char str[100];
    while (fgets(str, sizeof(str), file) != NULL) {
        printf("%s", str);
    }
    
    fclose(file);
    
    return 0;
}

上述代码会打开名为example.txt的文件,并逐行读取其中的字符串,然后将其打印到终端上。直到文件末尾,fgets函数返回NULL,循环终止。

需要注意的是,fgets函数会将换行符也读取进来,并存储到str中。如果不需要换行符,可以使用strtok函数或手动处理字符串来移除换行符。

0