上一页 下一页

C 编程基础

文本文件:读取

要读取文件,请以 r 模式打开它。通常,不建议使用 fscanf 进行读取:除非文件格式完美,否则 fscanf 无法正确处理。相反,请使用 fgets 读取每一行,然后解析出您需要的部分。

以下代码演示了读取文件并将其内容输出到屏幕的过程

广告

#include <stdio.h>

int main()
{
    FILE *f;
    char s[1000];

    f=fopen("infile","r");
    if (!f)
        return 1;
    while (fgets(s,1000,f)!=NULL)
        printf("%s",s);
    fclose(f);
    return 0;
}

fgets 语句在文件结束标记处返回 NULL 值。它读取一行(在此例中最多 1,000 个字符),然后将其打印到标准输出 (stdout)。请注意,printf 语句的格式字符串中不包含 \n,因为 fgets 会在其读取的每一行末尾添加 \n。因此,如果一行超出 fgets 第二个参数中指定的最大行长度,您可以判断该行是否不完整。