/Anonimizzato29977Utente anonimizzato08 mar 2021, 18:25È possibile convertire una variabile di tipo string a una di tipo LPCWSTR Ad esempio se devo fare un programma dove faccio string link; LPCWSTR sito; cin >> link; Shellexecute(NULL, NULL, sito, NULL, NULL, 1); Come posso fare? O c'è un altro modo?
AAlexvMolto attivoIscritto dagiu, 2018Messaggi64208 mar 2021, 19:25Il tipo LPCWSTR non è altro che un alias del tipo wchar_t*, quindi un puntatore a char unicode. https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-dtyp/76f10dd8-699d-45e6-a53c-5aefc586da20 Il tipo std::string potrebbe non essere compatibile, sarebbe più opportuno usare std::wstring. https://en.cppreference.com/w/cpp/string/basic_strin Puoi estrarre il puntatore dalla tua string mediante l metodo c_str, per poi passarlo alla tua funzione: https://en.cppreference.com/w/cpp/string/basic_string/c_str Se hai bisogno di copiare la string in una nuova variabile LPCWSTR puoi usare la funzione copy, però la stringa di destinazione va allocata manualmente, essendo un puntatore e non un array. https://en.cppreference.com/w/cpp/string/basic_string/copy
OoregonSuper FamosoIscritto danov, 2011Messaggi2191708 mar 2021, 19:38Probabilmente stai scrivendo qualche linea si codice e hai usato l'opzione caratteri uniche bel tuo progetto. Cambia in multibyte e risolvi senza usare caratteri wide