avr-libc, sscanf bugos?

Lukács Ákos lukrskywalkman at gmail.com
Fri Apr 6 16:13:29 CEST 2007


Sziasztok!

AVRLibc-ben a sscanf() furán viselkedik (és MS
visualC konzolappba belerakva azt csinálja, amit szeretnék):

printf("\n -%s-\n", tmp3);
sscanf(tmp3, "%d/%d/%d,%d:%d:%d", &year, &month, &day, &hr, &min, &sec);
printf("\t y:-%d- m:-%d- d:-%d- h:-%d- m:-%d- s:-%d- \n\n", year, month,
day, hr, min, sec);

reakciók:

AVR:
-17/03/31,19:04:32+05-
y:-0- m:-3- d:-31- h:-19- m:-4- s:-32-

visualC:
-17/03/31,19:04:32+05-
y:-17- m:-3- d:-31- h:-19- m:-4- s:-32-

A tmp3 egy char[61], szépen \0-al lezárva, az első sor alapján mindkét
helyen azonos. De az első változóba AVR-nél 0 kerül. Ha más kezdőértéke volt
a year-nak, akkor is 0 lesz. Kipróbáltam más formátum stringgel is, és ugyan
így az első változóba 0 került...

Ötletek? Én néztem el valamit, vagy a lib készítői?
(Új 2007 01 22-es WinAVR install, AVRlibc 1.4.5, Mega16, és a proci nem
zakkan meg egyébként)

kössz, á.


More information about the Elektro mailing list