Forum: Mikrocontroller und Digitale Elektronik sprintf %02d format and IAR


von Marcel C. (denbroajer)


Lesenswert?

Gutentag,

Ich habe ein problem mit IAR embedded workbench.

Wann ich die zeit formattieren will mit sprintf, brauche ich die format 
specifier %02d, zo das wann es nur ein digit gibt, da ein 0 vor kommt.

aber wann ich "%02d" ins iar brauche wirkt es nicht.....

beispiel:
sprintf(targetbuffer, " %02d ", 2)  -->  muss " 02 " geben.

wann ich dieser code test mit c++ builder auf windows, arbeitet es 
schon, aber wann ich es im IAR embedded workbench fur AVR probiere, 
wirkt es nicht. Der iar manual sagt das es schon moglich ist.

Ich habe auf internet nach dieses problem gesucht aber hab keine 
resultat bekommen.

ich habe die printf formatter schon auf full gesetst im einstellingen 
von IAR, und habe auf DLIB und CLIB compiled aber das macht nicht aus.

naturlich habe ich auch <stdio.h> included, und sprintf arbeited schon, 
aber nicht mit den %02d specifier.

auch habe ich die include files (sprintf.c, frmwri.c etc) im iar 
directory gefunden, und ein #error " test "  darein gesetzt um zu sehen 
ob es durch den compiler mitgenommmen wird aber das macht er auch nicht.

Wo kann mich hilfen?


(Entschuldiging fur mein slechtes Deutsch, ich bin ja ein Hollander :P )

von Timmo H. (masterfx)


Lesenswert?

Soweit ich weiß gibt es irgendwo eine Compileroption um die 
Unterstützung dazuzulinken. Schau mal in den Compiler Einstellungen 
deines Projekts bzw. IDE nach. Ich hatte ähnliches mit einem Compiler 
für den HC12. Dort waren auch standardmäßig einige Funktionen der 
Printf-Funktionen eingeschränkt um den Code möglichst klein zu halten.

von Marcel C. (denbroajer)


Lesenswert?

ich habe schon ins projecteinstellungen die printf unterstutzung auf 
full gesetzt, aber den macht er schon noch nichts

von Bobby (Gast)


Lesenswert?

Probier mal "%2.2d" als Format

von Marcel C. (denbroajer)


Lesenswert?

das ist glaub ich fur floating point, aber ich soll es mal probieren.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.