我可以将整个字符串作为一个命令行参数传递给C中的argv吗?

时间:2014-05-04 15:47:16

标签: c argv

说我有这样的程序:

int main(int argc, char **argv){
    printf("The name of the program is %s, and the string passed is:\n %s \n\n", argv[0], argv[1]);
    return 0;
}

我意识到应该有错误检查和诸如此类的东西,但我真正想知道的是如何将整个字符串作为第一个参数传递,或者它是否可能。谢谢!

1 个答案:

答案 0 :(得分:7)

只需使用引号

./file_name "This is the long string argument that comes in argv[1]"
     |
     |
     +--- argv[0]

修改

aruisdante:single and double quotes are treated depending on the shell, double quotes might do unexpected things

PS:我的答案来自Windows平台,使用单引号,只需跳过空白后的所有内容