【发布时间】:2021-09-22 12:52:47
【问题描述】:
在控制台的简单应用程序中,我无法读取参数
int main(int argc, char ** argv) {
if (argc > 1)
strcpy(path, argv[1]);
printf("arguments %d\n", argc);
....
argc 总是 1
从控制台运行应用程序是这样的:
open mytestconsoleapp --args arg1 arg2 arg3
argc 总是 1。这对我来说很奇怪。
我不明白为什么,有什么问题?
【问题讨论】:
-
strcpy(path, argv[1]);你怎么能确定argv[1]足够大以容纳path中的所有字符(不管是什么)? -
为什么
open在你的命令前面? -
您是在
C还是C++写这篇文章?目前看起来您正在使用C -
请显示minimal reproducible example,我无法让
open在我的机器上运行命令行程序 -
或者,只是不指定十进制输出...
标签: c++ macos command-line console console-application