我正在学习c ++的过程,因此我制作了一些程序/工具来在计算机上进行某些简单的操作。在这个例子中,我创建了一个程序,可以在计算机上找到浏览器(它将用于清除浏览器cookie等)。可能有更高级的方法来更有效地做到这一点,但我现在试图尽可能地保持这一点。
到目前为止,我试图找出目录" C:\ Program Files(x86)\ Google \ Chrome"存在。我使用getenv ("Program Files (x86)"
将地址提供给程序文件目录,但如何添加地址的其余部分?
我不能使用+运算符进行连接,因为变量是const char *(bool PathIsDirectory()需要const char *作为参数)。
std::cout << "Searching for browsers..." << std::endl;
const char *chromePath;
chromePath = getenv ("ProgramFiles(x86)");
bool result = PathIsDirectory(chromePath);
if(result == true)
{
std::cout << "-- Google Chrome - FOUND" << std::endl;
}
else
{
std::cout << "-- Google Chrome - NOT FOUND" << std::endl;
}
答案 0 :(得分:3)
您可以将getenv()
的结果存储在std::string
对象中(如中所述)
评论)。然后你可以使用+运算符添加路径的其余部分,如下所示:
#include <string>
//...
std::string chromePath = getenv ("ProgramFiles(x86)");
chromePath += "\\remaining\\path";
bool result = PathIsDirectory(chromePath.c_str());
请注意,您必须如上所示转义反斜杠。