Estamos ejecutando un chip Atmel AVR32 en nuestra placa y recientemente descubrimos que printf
con los especificadores de formato/conversión no funciona. Un regular printf
funciona.
Por ejemplo,
printf("hello\n"); // works just fine
printf("number: %d\n", 12); // returns -1, nothing prints.
Ningún especificador de formato parece tener ningún efecto, printf simplemente devuelve -1.
Hemos intentado vincular en diferentes versiones de la vfprintf
familia de funciones, por ejemplo, agregando -Wl,-u,vfprintf -lprintf_flt -lm
para agregar capacidades de formato de punto flotante (documentado aquí ), pero sin éxito.
Tenga en cuenta que NO estamos buscando capacidades de punto flotante, solo estamos tratando de obtener CUALQUIER formato para un decimal regular (int, uint_8, etc.).
Cualquier ayuda muy apreciada.
¿Ha intentado crear un búfer de caracteres, formatearlo y luego imprimirlo?
char buffer [50];
int A = 12;
i = sprintf (buffer, "A: %d \n", A);
printf(buffer);
Además, intente inicializar la variable primero, luego inclúyala dentro de printf.
int A = 12;
printf("number: %d \n", A);
HKOB
gbarry
cavernícola
yippie
%i
como se esperaba?chris stratton
kalaracey