Пожалуйста, простите меня, если ответ на это прост, но у меня нет идеи, что вызывает это. Функция PathCombineA каким-то образом модифицирует переменную mypath. Если вы запустите программу, вы увидите, что я имею в виду. (Вы должны связать Shlwapi.lib)Почему эта строка загадочно модифицирована?
#include <Windows.h>
#include <Shlwapi.h>
#include <iostream>
using namespace std;
int main()
{
CHAR temp[MAX_PATH];
CHAR mypath[MAX_PATH];
GetModuleFileNameA(NULL, mypath, MAX_PATH);
GetTempPathA(MAX_PATH, temp);
LPSTR name = PathFindFileNameA(mypath);
cout << mypath << endl;
PathCombineA(name, temp, name);
cout << mypath << endl;
getchar();
return 0;
}
выход перед тем PathCombineA
C: \ Users \ Владелец \ Desktop \ и т.д. \ Debug \ etc.exe
выход после PathCombineA
C: \ Users \ Owner \ Desktop \ etc \ Debug \ C: \ Users \ Owner \ AppData \ Local \ Temp \ и т.д.exe
Если вы, ребята, не знаете, что происходит, скажите, пожалуйста!
Спасибо!
Адрес: mypath? – KingJohnno
@KingJohnno GetModuleFileNameA добавляет текущий каталог в mypath –
Дайте нам выходы. – Till