我需要在我的C ++应用程序中找到javaw
的绝对路径
javaw
可以从命令提示符运行&我可以使用where javaw
获取其路径,但我需要C ++中的路径
如何在C ++应用程序中找到javaw
的路径?
由于
答案 0 :(得分:1)
此代码实际上是从How to execute a command and get output of command within C++?的最高答案复制粘贴,然后添加了来自main
的来电:
#include <string>
#include <iostream>
#include <stdio.h>
std::string exec(char* cmd) {
FILE* pipe = _popen(cmd, "r");
if (!pipe) return "ERROR";
char buffer[128];
std::string result = "";
while (!feof(pipe)) {
if (fgets(buffer, 128, pipe) != NULL)
result += buffer;
}
_pclose(pipe);
return result;
}
int main()
{
std::cout << exec("where javaw") << std::endl;
return 0;
}
这就是它在我的Windows 7机器上打印的内容:
C:\Windows\System32\javaw.exe
C:\Program Files (x86)\Java\jdk1.7.0_55\bin\javaw.exe
我猜你不得不以某种方式处理这些暧昧,但我想我会想到你为什么这么做。
答案 1 :(得分:0)
您可以使用makro并使用
进行编译if (!(typeof MochaWeb === 'undefined')){
MochaWeb.testOnly(function(){
describe("Meteor Method: Upldating a player", function(){
// define the handler as the method we are testing
// May be this needs to be a before each.
var handler = Meteor.call("addPoints");
var userId = "1";
var points = 5;
describe("Updating a player", function() {
it("Should Add a point", function(done){
handler(userId, points, function() {
assert(handler.calledOnce);
// a way here of asserting the callback is what we expect,
// in this case we expect a return of 1
done();
});
});
});
});
});
}