Wir betreiben einen Atmel AVR32-Chip auf unserem Board und haben kürzlich festgestellt, dass dies printf
mit Format-/Konvertierungsspezifizierern nicht funktioniert. Ein normaler printf
funktioniert.
Zum Beispiel,
printf("hello\n"); // works just fine
printf("number: %d\n", 12); // returns -1, nothing prints.
Keine Formatbezeichner scheinen einen Effekt zu haben, printf gibt nur -1 zurück.
Wir haben versucht, verschiedene Versionen der vfprintf
Funktionsfamilie zu verknüpfen, z. B. Hinzufügen, -Wl,-u,vfprintf -lprintf_flt -lm
um Fließkommaformatfähigkeiten hinzuzufügen ( hier dokumentiert ), aber ohne Erfolg.
Beachten Sie, dass wir NICHT nach Gleitkommafähigkeiten suchen, wir versuchen nur, JEDE Formatierung für eine normale Dezimalzahl (int, uint_8 usw.) zu erhalten.
Jede Hilfe sehr geschätzt.
Haben Sie versucht, einen Zeichenpuffer zu erstellen, ihn zu formatieren und dann zu drucken?
char buffer [50];
int A = 12;
i = sprintf (buffer, "A: %d \n", A);
printf(buffer);
Versuchen Sie auch zuerst, die Variable zu initialisieren, und fügen Sie sie dann in printf ein.
int A = 12;
printf("number: %d \n", A);
HKOB
gbarry
Höhlenmensch
Jippie
%i
wie erwartet?Chris Stratton
Kalaracey