Re: [gtk-list] GList problem



Wesley Lemke wrote:
> 
> I'm having problems creating a list of strings.  I'm new to gtk, so
> this problem should be a simple one for you gurus :)
> 
> Here is my code:
> 
> for(i = 1; i <= WEEKS; i++)
> {
>         sprintf(string, "Week %d", i);
>         list = g_list_append(list, string);
>         printf("%s\n", string);
> }
> 
> g_list_foreach(list, (GFunc) PrintList, NULL);
> 
> The printf statement prints what I'd expect...."Week 1, Week 2, Week 3..etc"
> However when I got thought the list with the foreach function, and print
> out each value it shows that all the values are "Week 17"  (17 is what
> WEEKS is defined to).  So the last value is getting inserted into the list
> WEEKS times.....what am I doing wrong?
> 
Hi Buck
you need to add a malloc to create a new string
for each item of the list.
something like this
for(i = 1; i <= WEEKS; i++)
{
	string=g_malloc(YOUR_MAX_LENGTH*sizeof(gchar));
        sprintf(string, "Week %d", i);
        list = g_list_append(list, string);
        printf("%s\n", string);
}

Ronan



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]