c - 与 C 中的 main() 函数不同

标签 c parameters parameter-passing program-entry-point

当我尝试将参数传递到 C 语言的 main() 函数时,我总是只能得到 1 个参数(并且 argc 始终为 1,即程序的名称)。我的程序在 gcc 中编译得很好。

#include <stdio.h>
#include <string.h>

#include "chkin.h"
#include "sort.h"
#include "display.h"

int main(int argc, char* argv[])
{
    if(1 == chkin(argc, argv))
        return 0;

    if(strcmp("sort", argv[1]));
        sort(argc, argv);

    if(strcmp("display", argv[1]));
        display(argc, argv);

    return 0;
}

我运行的命令是:./program sort tfile.txt。 会出现什么问题?

最佳答案

gdb(基于您对@Jack的评论)只会读取第一个参数“程序”。 如果您想通过 gdb 运行该程序,您必须尝试:

gdb ./program
(gdb) r sort tfile.txt

希望这有帮助

关于c - 与 C 中的 main() 函数不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7510174/

相关文章:

比较 C 中的字符串文字命令行参数

c - 将 char* 传递给结合 memcpy 的函数

c - 在c中合并两个字符常量

使用 FramesToSkip CaptureStackBackTrace 不一致

c - 变量周围的堆栈已损坏

C - 某处段错误

javascript - 将参数传递给回调

c++ - 带有额外可选模板参数的标准库容器?

javascript - 带参数调用回调

具有非原始类型的 C++ 按值传递?