<br><font size=2 face="sans-serif">Hola.</font>
<br><font size=2 face="sans-serif">Tengo un problema con un puntero.</font>
<br><font size=2 face="sans-serif">El programa acepta una cadena de caracteres
que no sé en un principio el número que tiene.</font>
<br><font size=2 face="sans-serif">He programado esto, pero se queda basura
después del ;, que debería ser el último caracter.</font>
<br><font size=2 face="sans-serif">Os pongo el código a ver si a alguien
se le ocurre algo.</font>
<br><font size=2 face="sans-serif">Muchas gracias.</font>
<br>
<br>
<br><font size=2 face="sans-serif">int main() </font>
<br><font size=2 face="sans-serif">{</font>
<br>
<br><font size=2 face="sans-serif">        //char
consulta [256];</font>
<br><font size=2 face="sans-serif">        int
a=0, numero, i;</font>
<br><font size=2 face="sans-serif">        char
* caux, * consulta;</font>
<br><font size=2 face="sans-serif">        </font>
<br><font size=2 face="sans-serif">        </font>
<br>
<br><font size=2 face="sans-serif">  do</font>
<br><font size=2 face="sans-serif">  {</font>
<br><font size=2 face="sans-serif">         
  </font>
<br><font size=2 face="sans-serif">         
      printf ("\n\nEscriba la consulta \n\n");</font>
<br><font size=2 face="sans-serif">         
      </font>
<br><font size=2 face="sans-serif">         
              caux=
(char *) malloc (sizeof (char));</font>
<br><font size=2 face="sans-serif">         
              gets (caux);</font>
<br><font size=2 face="sans-serif">         
              numero=strlen
(caux);</font>
<br><font size=2 face="sans-serif">         
              printf
("%d", numero);</font>
<br>
<br><font size=2 face="sans-serif">         
              consulta
= (char*) malloc (numero*(sizeof (char)));</font>
<br>
<br><font size=2 face="sans-serif">         
              for (i=0;
i<numero; i++)</font>
<br><font size=2 face="sans-serif">         
              {</font>
<br><font size=2 face="sans-serif">         
               
      consulta[i]=caux[i];</font>
<br><font size=2 face="sans-serif">         
              }</font>
<br>
<br>
<br><font size=2 face="sans-serif">         
              printf
("\n%s\n", consulta);</font>
<br>
<br><font size=2 face="sans-serif">         
      a = siok (consulta);</font>
<br>
<br><font size=2 face="sans-serif">         
      if (a==0)</font>
<br><font size=2 face="sans-serif">         
      {</font>
<br><font size=2 face="sans-serif">         
              printf
("\nLa consulta descrita no es correcta\n");</font>
<br><font size=2 face="sans-serif">         
              getch();</font>
<br><font size=2 face="sans-serif">         
      }</font>
<br><font size=2 face="sans-serif">         
      free(consulta);</font>
<br><font size=2 face="sans-serif">         
      free (caux);</font>
<br><font size=2 face="sans-serif">         
      fflush (stdin);</font>
<br>
<br><font size=2 face="sans-serif">         
      </font>
<br><font size=2 face="sans-serif">  }while (a==0);</font>
<br>
<br>
<br><font size=2 face="sans-serif">Meto esto y me da el resultado siguiente:</font>
<br>
<br>
<br>
<br><font size=2 face="sans-serif">Escriba la consulta</font>
<br>
<br><font size=2 face="sans-serif">select * from libros where cl = 123;</font>
<br><font size=2 face="sans-serif">36</font>
<br><font size=2 face="sans-serif">select * from libros where cl = 123;½½½½½½½½¯■¯■</font>
<br>