C ++使用system()启动程序时没有给出所需的结果

时间:2015-02-28 22:11:00

标签: c++ windows launcher

我有一个C ++代码设置为我启动项目,我只需要输入名称然后启动它。问题是,当我启动C ++应用程序时,C ++应用程序“变成它”我的意思是假装我正在使用它启动一个Minecraft服务器。它将表现为好像是它的Minecraft服务器及其所需的make文件不使用其目录中的那些。如果有人可以提供帮助,请做。

(见代码)

#include <iostream>
#include <stdlib.h>
#include <string>
using namespace std;

int main() {
    std::string textin;
    cin >> textin;
    if ( textin == "ATLauncher" ) {
        system("C:\\users\\USER\\Main\\minecraftserver\\minecraftserver.exe");
        return 0;
    }
}

1 个答案:

答案 0 :(得分:1)

听起来你想在启动之前更改工作目录。在posix中工作,您想要的电话是chdir(path)。在系统调用之前进行该调用。

请注意,Windows将工作目录存储在其他位置(在快捷方式链接中),因此您可能需要查看它以确定正确的路径。