【发布时间】:2020-09-16 05:16:42
【问题描述】:
例如,如果我有以下功能
void printText(char text [100]){
printf("%d", text);
}
然后我可以在命令行中执行此操作
printText(Hello World)
然后得到我的预期输出为
Hello World
【问题讨论】:
-
这在 C 语言中是不可能的。您需要有某种守护程序等待读取您的命令行输入 - 可能,这距离直截了当还有很长的路要走。
-
动机是出于好奇,还是您有想要解决的问题?如果是这样,它是什么?可能有更好的方法来实现您所需要的。无论如何,典型的方法是在你的 func 周围编写一个带有
main的程序,并将输入作为参数传递,调用 func 并将结果打印到标准输出,在那里你可以将它通过管道传输到另一个程序(或任何你的正在尝试在这里做)。 -
text不是int,所以printf("%d", text);不正确 -
我认为你需要一个 main,所以最简单的答案是创建一个程序,将你的输入作为参数然后打印出来。
-
这是一个教师问题(在这种情况下,答案是“C 是一种无法做到这一点的编译语言。”或“命令行不是 C 解释器。”)。或者是meta.stackexchange.com/questions/66377/what-is-the-xy-problem(正如@ggorlen 已经暗示的那样)。
标签: c linux command-line