You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C语言中读取文本文件指定行?以第三行为例

修改代码实现读取文件第三行

首先修正原代码的标准问题并调整逻辑,以下是修改后的完整代码:

#include <stdio.h>

int main(void)
{
    FILE* textfile;
    char line[1000];
    int line_count = 0;

    // 打开文件
    textfile = fopen("omar.txt", "r");
    if (textfile == NULL) {
        printf("无法打开文件\n");
        return 1;
    }

    // 跳过前两行,读取第三行
    while (fgets(line, 1000, textfile)) {
        line_count++;
        if (line_count == 3) {
            printf("第三行内容:%s", line);
            break; // 找到第三行后退出循环
        }
    }

    // 检查是否存在第三行
    if (line_count < 3) {
        printf("文件不足3行\n");
    }

    fclose(textfile);
    return 0;
}

关键修改点:

  • 修正main函数返回类型:标准C要求main必须返回int,原代码的void main不符合规范。
  • 添加行计数器line_count:用来跟踪当前读取的是第几行。
  • 调整循环逻辑:每读取一行就计数,当计数到3时,打印该行内容并跳出循环,避免读取多余内容。
  • 补充边界处理:如果文件行数不足3行,输出提示信息,避免静默失败。
  • 增加头文件#include <stdio.h>:原代码遗漏标准输入输出库头文件,编译时可能报错。

内容的提问来源于stack exchange,提问作者Omar A. Abdelazim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 21:36:21