• Sábado 14 de Diciembre de 2024, 20:50

Autor Tema:  Agregar un char a un String^  (Leído 2565 veces)

perverso

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Agregar un char a un String^
« en: Sábado 31 de Enero de 2009, 17:41 »
0
Saludos:

Soy nuevo en el foro y en visual c++ 2008, antes programaba en borland. Estoy tratando de cojer chars de Files con fgetc() y agregarlas a un String^ (con +=) pero cuando veo con el debug, el char se agrega al string pero como codigo ASCII, es decir si con fgetc recojo una 'h' y lo agrego al String^ se agrega, pero envez de agregar la 'h' agrega un 72 (el codigo AsCII)

el codigo es este

//*****************************************************

char c=' ';
String ^A;
errno_t err = 0;
size_t convertedChars = 0;
size_t  sizeInBytes;
char *Aaa;

while(!feof(read))
      {
         
         while(c != ':' && !feof(read))
         {
            c=fgetc(read);
         }
         while(c != 10 && !feof(read))
         {
            c=fgetc(read);
                                //aqui esta el problema
            A+=c;
         }
         //Converting from String^ to Char*
         pin_ptr<const wchar_t> Aa = PtrToStringChars(A);
         sizeInBytes = ((A->Length + 1) * 2);
         Aaa = (char *)malloc(sizeInBytes);
         wcstombs_s(&convertedChars,   Aaa, sizeInBytes,Aa, sizeInBytes);

         //Writing the char* in Record.txt
         fprintf_s(Apr,"%sn",Aaa);
         A="";
         c=' ';
         convertedChars=0;
      }
      fclose(Apr);


//*****************************************************

espero que me ayuden a resolver esto, tambien quisiera que me digan si hay otra forma mas corta de convertir de String^ a Char* por que ta como k pendejo 4 lineas para convertir a char*, gracias

betopin

  • Miembro activo
  • **
  • Mensajes: 93
  • Nacionalidad: co
    • Ver Perfil
    • http://www.programasenc.blogspot.com
Re: Agregar un char a un String^
« Respuesta #1 en: Lunes 2 de Febrero de 2009, 14:27 »
0
mmm...yo utilizaria los comandos de la libreria string.h, que son ansi c y que para el caso te podrian servir...

suponiendo que string sea la cadena y a el caracter con strcat(string,a)...tendrias al final de la cadena el caracter

o si deseas modificar a tu antojo el arreglo puedes usar sprintf(cadena,"    %f    %c  %i   ",c,a,b)....aqui puedes convertir cualquier tipo de dato a caracter y guardarlo como tal dentro de una cadena