C Xcode问题

标签 c xcode

我正在尝试将参数传递到 xCode 中的命令行。我查找了这个问题,发现我需要将工作目录设置为文件所在的路径。此外,我还必须将参数添加到项目编辑事件可执行文件下的参数选项卡中。我也做过这个。

我添加了 michael.txt 两次。

/* This file is saved as readtext.c, compiled as readtext */ 
#include <stdio.h> 
void main(int argc, char *argv[]) 
{ 
    FILE *fin; 
    char buffer[100]; 
    printf("Michael Mazur\n"); 
    if (argc != 2) {printf("Usage: %s filename\n", argv[0]); exit(1);} 
    fin = fopen(argv[1], "r"); 
    if (!fin) {printf("Unable to open %s\n", argv[1]); exit(1);} 
    while (fgets(buffer, 99, fin)) fputs(buffer, stdout); 
    fclose (fin); 
}  

我不断遇到没有传递两个参数的情况。我还运行了一个小测试程序,它不断返回,无论我添加多少个参数,我都只传递了 1 个参数。有什么帮助吗?

最佳答案

argv[0](可执行文件的路径)计入 argc,因此如果您添加 michael.txt 两次, argc 将为 3。稍长的描述是 here 。 (一般来说,当出现这样的错误时,可以使用调试器检查所有变量的值或将它们打印出来。)

确保两个参数都经过检查并且位于不同的行,如下所示:

picture of xcode

此外,将来请提及您正在使用的 Xcode 版本;从你的描述来看,我认为它是 3.x,所以这就是我回答问题的方式。版本之间的用户界面差异很大。

关于C Xcode问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6147820/

相关文章:

ios - 如何使用 Swift 4 在 Xcode10 中使用 Storyboard 设置 Textview 的边框

ios - Swift:异步回调

iPhone 类似谷歌地图应用的半透明状态栏

c - POSIX 消息队列,errno 90,消息太长

c - GDB:强制通过 if 语句

ios - iOS中的HttpRequest Body参数

ios - 如何彻底重命名 Xcode 中的通用框架?

c - 两个 c 文件之间的全局内联函数

c - 为什么 free() 需要动态数组的起始指针?

c中的字符比较?