informazioni aggiuntive im costruzione di un'applicazione che utilizza il WinHttpOpenRequest Api che richiede LPCWSTR per il nome dell'oggetto e im utilizzando Visual Studio 2008come convertire da LPCSTR a LPCWSTR in C++
risposta
Il modo più semplice è quello di utilizzare ATL:
#include <Windows.h>
#include <atlbase.h>
#include <iostream>
int main(int argc, char *argv[]) {
USES_CONVERSION;
LPCSTR a = "hello";
LPCWSTR w = A2W(a);
std::wcout << w << std::endl;
return 0;
}
Qualunque memoria allocata da A2W (ANSI per Wide) verranno liberati quando la funzione termina.
Quelle macro ATL 3.0 sono state sostituite dalla versione 7.0 [ATL e MFC Conversione macro] (http://msdn.microsoft.com/en-us/library/87zae4a3.aspx) più di un decennio fa. Tra l'altro, le macro ATL 7.0 non richiedono più l'uso della macro 'USES_CONVERSION'. Inoltre, puoi utilizzare le varianti const-correct, ad es. nel tuo esempio: 'CA2W (a)'. – IInspectable
Converting from char * ha un campione bel
char *orig = "Hello, World!";
cout << orig << " (char *)" << endl;
// Convert to a wchar_t*
size_t origsize = strlen(orig) + 1;
const size_t newsize = 100;
size_t convertedChars = 0;
wchar_t wcstring[newsize];
mbstowcs_s(&convertedChars, wcstring, origsize, orig, _TRUNCATE);
wcscat_s(wcstring, L" (wchar_t *)");
wcout << wcstring << endl;
Ma come dieci volte menzionato. Utilizzare generic text mapping se possibile
- 1. Come convertire std :: string in LPCSTR?
- 2. non può convertire 'LPCWSTR {aka const wchar_t *}' in 'LPCSTR {aka const char *}
- 3. non può convertire il parametro 1 da 'char' a 'LPCWSTR'
- 4. 'System :: String ^' a 'LPCWSTR'
- 5. Trasmissione a LPCWSTR?
- 6. Come concatenare due LPCWSTR in C++
- 7. C#: Come convertire da long a ulong
- 8. Converti char [] per LPCWSTR
- 9. Cosa significa LPCWSTR e come deve essere gestito?
- 10. Come convertire argomento puntatore opzionale da codice C++ a C#
- 11. Come convertire da K & R C a ANSI C?
- 12. Come posso convertire da stringstream a string in C++?
- 13. Come posso convertire da midi a wav/mp3 in C#?
- 14. sprintf una variabile LPCWSTR
- 15. Come si converte LPCWSTR in const char *?
- 16. come convertire C# in C++
- 17. non può convertire da "std :: string" a "LPSTR"
- 18. Come convertire da int a stringa nell'obiettivo c: esempio codice
- 19. Come convertire da char a Piattaforma :: String^(C++/CLI)
- 20. zlib da C++ a C# (Come convertire byte [] in stream e stream in byte [])
- 21. Come posso convertire da gradi a radianti?
- 22. Come convertire int [] a int [,] - C#
- 23. Come convertire da Json a Protobuf?
- 24. Come convertire da org.joda.time.DateTime a java.time.ZonedDateTime
- 25. Come convertire un'immagine da np.uint16 a np.uint8?
- 26. come convertire stringa in byte [] in C#
- 27. come convertire da cv :: Mat a CvArr?
- 28. Come convertire file da Dos a Unix
- 29. Come convertire TryCast in C#?
- 30. Come convertire DataRowView in DataRow in C#
Perché non utilizzi stringhe di caratteri larghi in tutta l'app? – tenfour
possibile duplicato di [Cosa significa LPCWSTR e come deve essere gestito?] (Http://stackoverflow.com/questions/2230758/what-does-lpcwstr-stand-for-and-how-should-it- essere-gestiti-con) –