none
Convertir de CString a char RRS feed

  • Pregunta

  • Hola, necesito hacer una conversión de una variable CString a char en vc++ 6.0. He utilizado la función wcstombs() y me da error. Mi código es:

    char *path = new char[1024];  
    CString pathName = dlg.GetPathName(); //Devuelve un string  
    wcstombs(path,(TCHAR*)(LPCTSTR) pathName,pathName.GetLength()+1);  
     


    El error que me sale es el siguiente:

    error C2664: 'wcstombs' : cannot convert parameter 2 from 'char *' to 'const unsigned short *

    Lo entiendo, pero no se cómo solucionarlo o si estoy haciendo algo mal.

    ¿Existe alguna otra función que haga esta conversión?

    Muchas gracias!!!
    jueves, 19 de febrero de 2009 15:56

Todas las respuestas

  • Hola,

    Estuve buscando una solución a tu problema y consegui el siguiente ejemplo:


    1.- Primero debe localizar memoría para el puntero char* str

    2.- Después debes copiar el contenido del CString m_str  a la variable str.

    Ejemplo:

    char *string = new char[csString.GetLength() +1];
    string = csString.GetBuffer(csString.GetLength() +1);
    csString.ReleaseBuffer();


    Espero que te ayude.

    Bye
    martes, 24 de febrero de 2009 14:11