C语言 fgets() 函数详解:读取字符串的利器

fgets() 函数用于从指定的流中读取一行数据。

语法:

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

参数说明:

  • str: 指向一个字符数组,用于存储读取的数据。
  • n: 指定要读取的最大字符数(包括终止符'�'),即数组 str 的大小。
  • stream: 指定要读取的流,可以是标准输入、标准输出、文件等。

返回值:

  • 如果成功读取到数据,则返回字符串 str 的地址;
  • 如果遇到文件结束符或者读取错误,则返回 NULL

注意事项:

  • fgets() 函数会读取并保留换行符('\n'),所以得到的字符串可能包含换行符;
  • 如果读取到的行数据长度大于 n-1n 个字符中的一个用于存储终止符'�'),则只会读取 n-1 个字符,并在末尾添加终止符'�';
  • 如果读取到的行数据长度小于 n-1,则会将读取的数据存储到 str 中,并在末尾添加终止符'�'。

示例用法:

#include <stdio.h>

int main() {
    char str[100]; // 定义一个字符数组用于存储读取的数据
    FILE *fp;

    fp = fopen("input.txt", "r"); // 打开文件

    if (fp == NULL) {
        printf("无法打开文件\n");
        return 1;
    }

    while (fgets(str, sizeof(str), fp) != NULL) { // 从文件中逐行读取数据
        printf("%s", str); // 输出读取到的数据
    }

    fclose(fp); // 关闭文件

    return 0;
}

以上示例代码从文件中逐行读取数据,并输出到屏幕上。其中,fgets() 函数用于读取每一行数据,直到遇到文件结束符或者读取错误。

C语言 fgets() 函数详解:读取字符串的利器

原文地址: https://www.cveoy.top/t/topic/pxp5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录