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

如何在C语言程序中使用input.txt文件作为输入?

在VS Code中实现C语言读取input.txt的两种方案

方案一:代码直接读取文件(无需修改launch.json)

这种方式直接在代码中打开input.txt并读取,不需要配置调试参数:

#include <stdio.h>

int main() {
    // 打开当前目录下的input.txt,只读模式
    FILE *fp = fopen("input.txt", "r");
    if (fp == NULL) {
        perror("打开文件失败");
        return 1;
    }

    int num;
    // 循环读取文件中的整数,直到文件结束
    while (fscanf(fp, "%d", &num) != EOF) {
        printf("读取到数字:%d\n", num);
    }

    fclose(fp); // 关闭文件
    return 0;
}

注意:确保input.txt和编译后的可执行文件在同一目录,或者在fopen中写完整文件路径(比如"/home/user/project/input.txt")。

方案二:标准输入重定向(需配置launch.json)

这种方式保持代码使用标准输入(scanf),通过调试配置将input.txt作为输入源:

1. 基础C代码(使用scanf读取)

#include <stdio.h>

int main() {
    int num;
    // 从标准输入读取数字,直到输入结束
    while (scanf("%d", &num) != EOF) {
        printf("读取到数字:%d\n", num);
    }
    return 0;
}

2. 配置launch.json步骤

  • 打开VS Code的运行和调试面板(快捷键Ctrl+Shift+D)
  • 点击「创建launch.json文件」,选择C/C++ (GDB/LLDB)环境,生成默认配置
  • 在生成的launch.json中,找到configurations数组内的配置项,添加"args": ["<", "${workspaceFolder}/input.txt"]

示例完整的launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "gcc - 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": ["<", "${workspaceFolder}/input.txt"],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: gcc 生成活动文件",
            "miDebuggerPath": "/usr/bin/gdb"
        }
    ]
}

配置说明

  • ${workspaceFolder}指代你的项目根目录,确保input.txt放在该目录下;如果文件在其他位置,替换为对应路径(比如${fileDirname}/input.txt表示和当前源文件同目录)
  • externalConsole设为true或false都不影响重定向效果,根据个人习惯选择是否弹出外部控制台

内容的提问来源于stack exchange,提问作者Shinny

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 05:55:18