[C con Clase] Glib

vicente lozano vicentelozano en gmail.com
Mar Ene 5 15:20:22 CET 2010


Seguro que es eso lo que falla y no el que no reserve memoria para el
puntero char *alreves?

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

> Hola Omar,
>
> 2010/1/5 omar mendoza <omar.p9 en gmail.com>
>
> Hola a todos espero ser claro, y de antemano gracias. Pues tengo el sig
>> código
>>
>>  #include <glib.h>
>> #include <glib/gprintf.h>
>>
>> int
>> main (int argc, char *argv[])
>> {
>> gchar *prueba="Hola Mundo Glib!!";
>>  gchar *alreves;
>> alreves = g_strreverse(prueba);
>>  g_printf("%s\n", prueba);
>> g_printf("Alreves %s\n", alreves);
>>
>> return 0;
>> }
>>
>> y me sale el error de "Fallo de segmentacion"
>>
>> la funcion que falla es la g_strreverse(), ya que al comentarla sale el
>> mensaje, sé que el programa es un clásico hola mundo, pero quiero a empezar
>> a utilizar esta libreria
>> como cultura general, jeje, la definicion de la función es la sig:
>>
>> gchar* g_strreverse(gchar *cadena)
>>
>>
>>
>
> El problema es que estás pasando un puntero a una cadena literal y por
> tanto constante. Escribes,
>
> gchar *prueba = "Hola Mundo Glib!!";
>
> Crea un array de caracteres estática o dinámicamente. Por ejemplo,
>
> gchar prueba[] = "Hola Mundo Glib!!";
>
> gchar *alreves = g_strreverse( prueba );
>
> La función 'g_strreverse()' modifica el contenido de la cadena, pero como
> pasaste una cadena literal, el programa acaba lanzándote un mensaje de
> error.
>
>
> Espero que esto te ayude.
>
> 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/ac2f9039/attachment.html>


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