<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>