为什么有的程序必须在命令提示符下才能运行?

时间:2022-06-07 05:47:05
为什么有的程序必须在命令提示符下才能运行?直接双击.exe没有反应?

15 个解决方案

#1


那是没有得到命令行参数,直接退出程序了

#2


没得到命令行参数就退出,这是系统规定的还是和具体的程序有关系。

#3



# include <stdio.h>
# include <stdlib.h>

int main(int argc, char * argv[])
{
        if (argc != 2)
        {
                printf("Usage: %s something\n", argv[0]);
                exit(-1);
        }

        printf("\"%s\" input\n", argv[1]);

        return 0;
}

#4


具体程序啊,自己也可以搞个批处理程序,输入参数。

#5


引用 2 楼 fengyunjh 的回复:
没得到命令行参数就退出,这是系统规定的还是和具体的程序有关系。


是和程序有关,与系统无关.
可以哪种双击不能打开的程序,需要在运行时获得参数,这个参数是由具体程序定的.比如有的游戏,就要传入服务器,区组,用户名等信息才能启动游戏客户端.
当然, 这个参数到底是什么,决定于程序员.有参数与没有参数做什么样的动作,也是由程序员决定.

#6


也可能是已经运行过了

#7


你先从命令行提示符里执行过,看下输出,就知道了。可能是出错,也可能是执行太快。

#8


楼主说的应该是执行太快了吧。一下就执行完了,退出啦

#9


可能的原因:
1、很快执行完退出了;
2、转入后台去执行了;
3、也许是需要输入参数;
4、也许不是win32的程序。
还有也许的话,楼下的补上。

#10


console应用程序

#11


3楼的main就是需要参数的,双击当然return了,在cmd里拖个文件进去则main进入正确分支

#12


应该是已经运行过了吧!
由于没有参数输出,所以直接运行完退出了。

#13


return 0 已經是結束的了。

如果你要他窗口一直在就最後來個
system("PAUSE");

#14


已经运行过了?

#15


谢谢各位了,说的对我都有帮助

#1


那是没有得到命令行参数,直接退出程序了

#2


没得到命令行参数就退出,这是系统规定的还是和具体的程序有关系。

#3



# include <stdio.h>
# include <stdlib.h>

int main(int argc, char * argv[])
{
        if (argc != 2)
        {
                printf("Usage: %s something\n", argv[0]);
                exit(-1);
        }

        printf("\"%s\" input\n", argv[1]);

        return 0;
}

#4


具体程序啊,自己也可以搞个批处理程序,输入参数。

#5


引用 2 楼 fengyunjh 的回复:
没得到命令行参数就退出,这是系统规定的还是和具体的程序有关系。


是和程序有关,与系统无关.
可以哪种双击不能打开的程序,需要在运行时获得参数,这个参数是由具体程序定的.比如有的游戏,就要传入服务器,区组,用户名等信息才能启动游戏客户端.
当然, 这个参数到底是什么,决定于程序员.有参数与没有参数做什么样的动作,也是由程序员决定.

#6


也可能是已经运行过了

#7


你先从命令行提示符里执行过,看下输出,就知道了。可能是出错,也可能是执行太快。

#8


楼主说的应该是执行太快了吧。一下就执行完了,退出啦

#9


可能的原因:
1、很快执行完退出了;
2、转入后台去执行了;
3、也许是需要输入参数;
4、也许不是win32的程序。
还有也许的话,楼下的补上。

#10


console应用程序

#11


3楼的main就是需要参数的,双击当然return了,在cmd里拖个文件进去则main进入正确分支

#12


应该是已经运行过了吧!
由于没有参数输出,所以直接运行完退出了。

#13


return 0 已經是結束的了。

如果你要他窗口一直在就最後來個
system("PAUSE");

#14


已经运行过了?

#15


谢谢各位了,说的对我都有帮助