将下一行的参数传递给C程序

时间:2013-05-27 11:40:44

标签: c command arguments eof

我正在尝试通过命令提示符在Ubuntu中运行C程序,我可以使用

成功运行
./aaa<arg_file.txt

Content of arg_file.txt
a
bb
ccc

它成功显示结果,但这次我不想使用txt文件传递参数,而是我想使用一行传递所有参数,如何在参数中表示下一行字符场?

感谢大家的建议!

2 个答案:

答案 0 :(得分:2)

如果您的shell是Bash或兼容的,请使用<<[SENTINEL]语法:

h2co3-macbook:~ h2co3$ cat <<EOF
> abc
> def
> ghi
> EOF
abc
def
ghi
h2co3-macbook:~ h2co3$

答案 1 :(得分:0)

只需传递空格,如

./aaa a bb ccc

在C程序中,argv[0]将是您的原名。那么

argv[1] = "a"
argv[2] = "bb"
argv[3] = "ccc"

会在那里。