[C con Clase] problema con puntero

duna.montero en ldasistencia.com duna.montero en ldasistencia.com
Mar Ago 28 11:38:37 CEST 2007


Hola.
Tengo un problema con un puntero.
El programa acepta una cadena de caracteres que no sé en un principio el 
número que tiene.
He programado esto, pero se queda basura después del ;, que debería ser el 
último caracter.
Os pongo el código a ver si a alguien se le ocurre algo.
Muchas gracias.


int main() 
{

        //char consulta [256];
        int a=0, numero, i;
        char * caux, * consulta;
 
 

  do
  {
 
                printf ("\n\nEscriba la consulta \n\n");
 
                        caux= (char *) malloc (sizeof (char));
                        gets (caux);
                        numero=strlen (caux);
                        printf ("%d", numero);

                        consulta = (char*) malloc (numero*(sizeof 
(char)));

                        for (i=0; i<numero; i++)
                        {
                                consulta[i]=caux[i];
                        }


                        printf ("\n%s\n", consulta);

                a = siok (consulta);

                if (a==0)
                {
                        printf ("\nLa consulta descrita no es 
correcta\n");
                        getch();
                }
                free(consulta);
                free (caux);
                fflush (stdin);

 
  }while (a==0);


Meto esto y me da el resultado siguiente:



Escriba la consulta

select * from libros where cl = 123;
36
select * from libros where cl = 123;½½½½½½½½¯■¯■

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20070828/70a78b8a/attachment.html>


Más información sobre la lista de distribución Cconclase