从C main()程序返回字符串的机制

Roo*_*eti 3 c

我知道C程序通常以return结束,我们返回程序的状态.但是,我想返回一个字符串.原因是,我将从shell脚本调用C-executable并打印返回的字符串.有没有相同的机制?

Ign*_*ams 10

没有这样的机制; 返回码应该是一个字节.如果要从程序中输出字符串,则printf()在shell脚本中使用类似命令和命令替换来捕获它.


peo*_*oro 7

你不能.

你能做的最好的事情就是在某处写字符串(标准输出,标准错误或某些文件); 那么shellscript会从那里得到你的字符串.

标准输出(因此仅使用a printf)可能是最好的解决方案,因为从C程序打印字符串将非常容易,并且shellcript非常容易获取该数据:

从shell脚本:

STRING="$( ./your_program argv1 argv2 )"
Run Code Online (Sandbox Code Playgroud)


ice*_*ime 5

无法从中返回字符串main().也许程序本身应该打印字符串?