2016-06-02 2 views
0

Я пытаюсь создать программу, которая может сама создавать разделы/значения реестра, но у меня возникла разочаровывающая проблема. Я пытаюсь конкатенировать путь и имя будущего подраздела, чтобы иметь абсолютный путь для функций Reg. Я могу создавать ключи, если я задаю путь вручную, но теперь, когда я пытаюсь конкатенировать (используя wcscat), сбой программы.Программа спускается с помощью wcscat

Это программа, пока не получится не так.

int main(int argc, char *argv[]) 
{ 
HKEY hKey = NULL; 
DWORD data = 0; 
wchar_t *path = L"SOFTWARE\\7-Zip\\"; 
const wchar_t *name = GetWC(argv[1]); //argv[1] is char* and name is const wchar_t*. 
wcout << "path : " << path << endl << "name : " << name << endl; 
wchar_t *strKeyName = wcscat(path, name); 

Любой совет будет очень признателен, если вам нужно больше информации это обыкновение ба проблема :)

(Это мой самый первый пост, если у вас есть советы о форме тоже не ограничьте себя): D

+0

Используйте 'станд :: wstring'. – NathanOliver

ответ

0

Большое спасибо! Я попытался это раньше, но я Гесс я потерял себя в превращениях ... Теперь система полностью работает; D

(Здесь разница между ранее, если это может помочь кому-то)

(int main(int argc, char *argv[]) 
{ 
    HKEY hKey = NULL; 
    DWORD data = 0; 
    std::string path = "SOFTWARE\\7-Zip\\"; 
    std::string name = argv[1]; 
    path += name; 
    cout << "path : " << path << endl; 
    std::wstring str= std::wstring(path.begin(),path.end()); 
    wcout << "str: " << str; //debug 
    wchar_t *strKeyName = const_cast<wchar_t*>(str.c_str());