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

如何在Xcode 14.1中为C程序传入< input.txt命令行参数

解决Xcode 14.1中重定向input.txt输入的可行方案

方案一:通过自定义Shell命令运行程序

Xcode的Run参数不支持Shell重定向符号(<),可以让Xcode调用Shell执行带重定向的命令:

  1. 打开Scheme编辑器:点击Xcode顶部菜单栏Product > Scheme > Edit Scheme
  2. 切换到Run > Info标签页,将Executable改为系统Shell(比如/bin/bash或/bin/zsh)
  3. 切换到Arguments标签页,在Arguments Passed On Launch里添加命令:
    -c '$(BUILT_PRODUCTS_DIR)/test < $(PROJECT_DIR)/input.txt'
    
    • 若input.txt已复制到产品目录,把$(PROJECT_DIR)/input.txt替换为$(BUILT_PRODUCTS_DIR)/input.txt
  4. 先执行Product > Build生成test可执行文件,再点击Run即可

方案二:修改代码直接读取文件

不想修改Scheme的话,可在代码中将标准输入重定向到input.txt:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main() {
    // 根据文件实际位置调整路径
    FILE *input_file = fopen("input.txt", "r");
    if (!input_file) {
        perror("无法打开input.txt");
        return EXIT_FAILURE;
    }
    // 将标准输入重定向到文件
    dup2(fileno(input_file), fileno(stdin));
    fclose(input_file);

    // 原有业务逻辑,示例为读取整数输入
    int value;
    while (scanf("%d", &value) != EOF) {
        // 处理输入内容
    }

    return EXIT_SUCCESS;
}
  • 若input.txt在项目根目录,需在Scheme的Run > Options中勾选Use custom working directory并选择项目根目录;若已复制到产品目录,直接写文件名即可

方案三:使用Xcode内置终端临时执行

打开Xcode控制台:View > Debug Area > Activate Console,手动执行命令:

gcc test.c -o test && ./test < input.txt
  • 若终端路径不对,先执行cd $(PROJECT_DIR)切换到项目目录

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 05:15:09