[C con Clase] Glib

vicente lozano vicentelozano en gmail.com
Mar Ene 5 18:33:03 CET 2010


Como siempre gran respuesta Steven, veo que los turrones y los champagnes de
estas fechas no te han causado daño permanente jeje.

Gracias por la aclaracion :)

2010/1/5 Steven Davidson <srd4121 en njit.edu>

> Hola Vicente,
>
> 2010/1/5 vicente lozano <vicentelozano en gmail.com>
>
> Seguro que es eso lo que falla y no el que no reserve memoria para el
>> puntero char *alreves?
>>
>>
>
> No, porque la función 'g_strreverse()' retorna un puntero a la misma cadena
> entrante. Lo que sí fallará es el funcionamiento esperado del programa al
> intentar mostrar las dos cadenas original y al revés, ya que el puntero
> 'alreves' apuntará a la misma información.
>
> Si Omar quiere mantener dos cadenas diferentes, entonces tendrá que crear
> dos cadenas en memoria, una para la cadena original y otra para la
> modificada. Por ejemplo,
>
> gchar prueba[] = "Hola Mundo Glib!!";
> gchar alreves[] = "Hola Mundo Glib!!";
>
> g_strreverse( alreves );
>
> O podemos usar 'g_stpcpy()' para copiar una cadena a otra; esto es,
>
>  gchar prueba[] = "Hola Mundo Glib!!";
> gchar alreves[sizeof prueba];  // el tamaño viene a ser 18 'gchar', si no
> he contado mal
>
> g_stpcpy( alreves, prueba );
>  g_strreverse( alreves );
>
> También se podría usar la función 'g_strdup()' para realizar la creación de
> una cadena dinámica junto con su copia o duplicación. Por ejemplo,
>
>  gchar prueba[] = "Hola Mundo Glib!!";
> gchar * alreves = g_strdup( prueba );
>
> g_strreverse( alreves );
> ...
> g_free( alreves );  // Para liberar la memoria creada por 'g_strdup()'
>
>
> Espero haber aclarado el tema.
>
> Steven
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20100105/cf83fd0c/attachment.html>


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