找到可执行文件的绝对路径,可以从CMD运行
Find absolute path of executable that can be run from CMD
我需要在c++应用程序中找到javaw
的绝对路径。javaw
可以从命令提示符&我可以用where javaw
得到它的路径但是我需要c++中的路径
我如何在我的c++应用程序中找到javaw
的路径?
谢谢
这段代码是从顶部的答案复制粘贴到如何在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:WindowsSystem32javaw.exe
C:Program Files (x86)Javajdk1.7.0_55binjavaw.exe
我猜你不得不处理模糊的问题,但我想我明白你为什么要这么做了。
您可以使用makro并使用
进行编译-DJAVAW_PATH=`where javaw`
相关文章:
- 如何在使用Makefile构建后在cmd中运行该程序?
- 父进程意外被子 cmd 杀死.exe运行 java jar 的进程 - WINDOWS 7 问题 - C++
- 使用 system() 函数在C++程序中运行 cmd 命令
- 从Visual Studio 2017运行MPI应用程序,每个进程在不同的cmd窗口中
- 如何将我的程序转换为.dll文件并使用rundll32.exe在cmd中运行它?
- 从 CMD 运行.exe并自动向其传递参数
- 如何在Powershell中运行C++程序,就像CMD一样?
- 在CMD中运行MATLAB代码,然后等待完成
- 如何将控制台输出的文本颜色更改为红色,但如果从Powershell或CMD运行,背景将保持相同的颜色
- 如何从Windows CMD运行可执行文件并将其传递给文件输入的参数参数和重定向
- 在C++中运行 CMD 行 使用变量(不是字符串文字)作为参数
- 检查我的 C++ 代码!我的cmd屏幕在运行后关闭!我的错误可能是什么
- 在cmd中运行程序时出现问题
- 如何在C++上以管理员身份运行cmd命令
- 如何在 Windows 操作系统中创建制作文件并使用 cmd 运行它
- 运行CMD命令并将结果获取到字符串变量
- 编译的 exe 无法通过我的自定义方案 cmd 运行?
- 在windows上使用oud cmd运行g++编译的文件
- 使用cmd运行C++程序
- 找到可执行文件的绝对路径,可以从CMD运行