我試圖檢索使用C語言文件的完整路徑,但_fullpath
函數總是返回我的諸如C:\Windows\system32\test.txt
代替C:\Users\me\Documents and settings\test.txt
Ç_fullpath()返回壞路
這裏的路徑是我的代碼至目前爲止寫到:
char lszValue[255];
DWORD dwType=REG_SZ;
DWORD dwSize=255;
HANDLE hFind;
WIN32_FIND_DATA FindFileData;
char full[255];
if ((RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\MY\\TestReg", &hKey)) == ERROR_SUCCESS)
{
if ((RegQueryValueEx(hKey, TEXT("path"), NULL, &dwType,(LPBYTE)&lszValue, &dwSize)) == ERROR_SUCCESS)
{
if ((hFind = FindFirstFile(strcat(lszValue, "/*"), &FindFileData)) == INVALID_HANDLE_VALUE)
WriteInLogFile("ERROR: FindFirstFile");
do
{
if (FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if (!_fullpath(full, FindFileData.cFileName, 255))
WriteInLogFile("ERROR: _fullpath\r\n");
WriteInLogFile(full);
}
} while (FindNextFile(hFind, &FindFileData) != 0);
}
}
請問有人對這個問題有什麼想法嗎?
謝謝!
什麼樣的電腦你使用32位或64? – L7ColWinters 2012-03-28 15:19:06
我在W7 32位 – 2012-03-28 15:21:00