fgets是C语言中的一个标准库函数,用于从指定文件中读取一行字符串。它的声明如下:

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

C语言的fgets函数_换行符

其中,str是一个字符数组,用来存储读取的字符串;n表示读取的最大字符数(包括换行符和终止符);stream表示要读取的文件流。

fgets函数会从stream中读取字符,直到遇到下列三种情况之一:

  1. 读取了n-1个字符;
  2. 读取到了换行符'\n';
  3. 读取到了文件结束符EOF。

如果读取成功,则返回一个指向str的指针,否则返回NULL。另外,fgets会将读取到的字符串缓存到str中,并自动在末尾添加一个终止符'\0'。

以下是一个简单的例子,演示了如何使用fgets函数从文件中读取一行字符串并输出:

#include <stdio.h>
#define MAXLINE 1024
int main() {
    char str[MAXLINE];
    FILE *fp = fopen("file.txt", "r");
    if(fp == NULL) {
        printf("Failed to open file\n");
        return -1;
    }
    if(fgets(str, MAXLINE, fp) != NULL) {
        printf("%s", str);
    }
    fclose(fp);
    return 0;
}

C语言的fgets函数_字符串_02

在这个例子中,程序打开文件file.txt,使用fgets函数从中读取一行字符串(不超过MAXLINE-1个字符),然后输出读取到的字符串。最后,程序关闭文件并结束。