Я изучаю процесс обучения 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;
}
Можете ли вы получить путь к 'ProgramFiles' с' getenv'? 'getenv' предназначен для получения переменных среды. – ForceBru
@ForceBru в соответствии с этим да: http://stackoverflow.com/questions/9594066/how-to-get-program-files-x86-env-variable – vu1p3n0x
Я сомневаюсь, что 'ProgramFiles (x86)' обозначает допустимую переменную среды. –