我想实现一个跨程序功能来关闭计算机而不使用任何系统特定的API,但是" stdlib.h" std :: system函数。我几乎没有在网上找到任何关于它的可靠资源。
在Windows系统上,以下工作:
#if defined(_WIN32) || defined(__WIN32) || defined(__WIN32__)
std::system("shutdown -s -t 0");
#endif
其他操作系统(如Linux,Mac OSX等)上的命令应该是什么?
答案 0 :(得分:2)
没有跨平台关机命令。
您需要查看要拥有它的操作系统中的shutdown命令,然后检查客户端运行的操作系统,并根据您可以选择正确的命令或代码来关闭特定系统。 / p>
答案 1 :(得分:2)
在* nix系统上,以下内容应该有效。
#include <cstdlib>
int main()
{
system("shutdown -P now");
return 0;
}
但是,上面的代码假定您以root用户身份登录,如果不是,则在未以root用户身份登录时会出现错误。
没有&#34;跨平台&#34;执行此操作的方法除了使用switch语句或if - else语句系列以获得指定OS的正确语法。