![](/img/trans.png)
[英]C++ | How can i delete files in a folder located in (C:\Program Files (x86))
[英]Is there a simple Program Files/Program Files (x86) directive for C++ in windows?
我目前正在硬編碼我的應用程序的路徑如下:
const char* OriginCopyFile = "C:\\Program Files (x86)\\i-cut\\i-cut\\Origin_copy.txt";
該應用程序將在32和64系統中運行。 如何在沒有文件名的情況下檢測路徑,以便將其與多個文件一起使用,並使其在架構之間可移植。
您可以使用GetModuleFileName獲取可執行文件的路徑,無論它在何處安裝,甚至以后移動。 然后,如果要支持早於Windows 2000的版本,則可以使用PathRemoveFileSpec刪除可執行文件名(或strchr()
和朋友)。
SHGetSpecialFolderPath(CSIDL_PROGRAM_FILES)
至少會給出程序文件目錄的路徑。 您將不得不處理添加其余路徑和文件名。
您可以使用環境變量:
#include <stdio.h>
#include <stdlib.h>
int _tmain(int argc, _TCHAR* argv[])
{
char* programFiles = getenv("ProgramFiles(x86)");
if (programFiles==NULL)
{
programFiles = getenv("ProgramFiles");
}
printf(programFiles);
return 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.