私はC++の学習プロセスを進めていますので、コンピュータで簡単に操作できるツールやツールをいくつか作っています。この例では、コンピュータ上にブラウザを配置するプログラムを作成しています(ブラウザのCookieなどを消去するために使用されます)。これをより効率的に行うためのより高度な方法はおそらくありますが、私はこれを現時点でできるだけシンプルに保つよう努めています。Const char concatenationとgetenv()
これまでのところ、「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;
}
'getenv'を使って' ProgramFiles'へのパスを実際に得ることができますか? 'getenv'は環境変数を取得するためのものです。 – ForceBru
@ForceBruこれによると:http://stackoverflow.com/questions/9594066/how-to-get-program-files-x86-env-variable – vu1p3n0x
私は 'ProgramFiles(x86)'が有効な環境変数を示しているのではないかと疑います。 –