Ver Mensaje Individual
  #3  
Antiguo 01-10-2012
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.195
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Cita:
Empezado por LuisMiguel Ver Mensaje
Saludos a todos
Necesito convertir un String 'o UnicodeString a un char *

char * a = "Ejemplo"; // El resultado de esto es: "Ejemplo";
String a = "Ejemplo"; // El resultado de esto es: L"Ejemplo";

Como ven la (L) esta delante de lo que me da como resultado,cosa que quisiera eliminar porque asi me da error en lo que estoy haciendo.
La "L" es una notación, no aparece en la cadena.
1.- Si tienes activada en las opciones del proyecto: _TCHAR maps to = char entonces y partiendo un un String Unicode, la función t_str() te devuelve una cadena tipo char*.
2.- Si tienes activada en las opciones del proyecto: _TCHAR maps to = wchar_t entonces y partiendo un un String Unicode, la función t_str() te devuelve una cadena tipo wchar_t*.
3.- c_str() siempre devuelve un wchar_t si se aplica a un UnicodeString.
4.- Siempre puedes forzar la conversión a AnsiString y aplicar c_str():
Código Delphi [-]
char *c = AnsiString(L"HOLA").c_str();


Saludos.
Responder Con Cita