Witam,

Poradzcie mi cos, bo mnie to juz do szalu doprowadza :/

Kod:

char buf[50];
double i = atof("1234");
 
sprintf(buf,"%.15g",i);
gtk_entry_set_text(lookup_widget(GTK_WIDGET(button), "wyswietlacz"),buf);

Wynik na wyswietlaczu (pisze kalkulator): 2289648 (czyli, nieokreslony).

Co sie dzieje???

Jezeli zastosuje atoi i liczby typu int - dziala, jezeli typ inny niz calkowity - nie dziala. Podpowie ktos, bo mi brak pomyslow?

Problem lezy wlasnie w tej nieszczesnej konwersji z char* do double, bo jezeli zrobie tak:

sprintf(buf,"%.15g",(double)1234);
gtk_entry_set_text(lookup_widget(GTK_WIDGET(button), "wyswietlacz"),buf);

... to dziala (na wyswietlaczu 1234)