这不重复。我的问题没有被其他线程解决了!
我知道,在Windows计算机上,您可以通过扩展%cmdcmdline%环境变量并检查路径是否引用"%SystemRoot%\ System32 \ cmd.exe"来实现此目的。
UNIX / LINUX机器上的等价物是什么? 有跨平台的方法吗? _isatty()会起作用吗?我试过了,但它似乎没有做我想要的......
PS:我试图保持CMD / Shell打开并等待一个密钥仅在从快捷方式调用该应用程序时。如果从开放的CMD / Shell窗口中调用应用程序,我不想等待密钥...
编辑1:
我创建了一个方法
close_on_tty();
定义如下:
void close_on_tty() {
if(!_isatty(_fileno(stdin)) {
printf("Press any key to exit...");
getchar();
}
return;
}
我在main方法中的每一个exit语句之前都放了这个方法。但它仍然不适合我。有什么建议?这是跨平台吗?它也适用于Windows吗?我认为它会,因为它在MSDN文档中......