Hola a todos.
He implementado una orden para un intérprete de comandos que muestra los procesos en ejecución. La cuestión es que quiero que la salida aparezca tabulada pero no lo consigo, unas veces sale bien y otras mal. Primero imprimo las columnas y luego debajo ya mientras recorro la lista de procesos imprimo con la misma separación usando \t. ¿Alguna función en C para tabular salida? uso printf pero nada.
Antes de imprimir hago fflush(stdout) para limpiar por si acaso pero no sirve de nada.
Gracias adelantadas. Un saludo
#include <stdio.h>
int main()
{
int precio1 = 1;
int precio2 = 10;
int precio3 = 100;
int precio4 = 1000;
printf("\t%d\n", precio1);
printf("\t%d\n", precio2);
printf("\t%d\n", precio3);
printf("\t%d\n", precio4);
printf("\t%d\n", precio3);
}
Así?
Cita de: hervasiop12345 en 20 Octubre 2013, 22:20 PM
Hola a todos.
He implementado una orden para un intérprete de comandos que muestra los procesos en ejecución. La cuestión es que quiero que la salida aparezca tabulada pero no lo consigo, unas veces sale bien y otras mal. Primero imprimo las columnas y luego debajo ya mientras recorro la lista de procesos imprimo con la misma separación usando \t. ¿Alguna función en C para tabular salida? uso printf pero nada.
Antes de imprimir hago fflush(stdout) para limpiar por si acaso pero no sirve de nada.
Gracias adelantadas. Un saludo
Entiendo que tu lo que persigues es algo tal que...
Id Nombre Edad
1 Maria 20
2 Sergio 28
3 Laura 26
4 Jose 45
5 Sonia 8
La forma correcta de formatear esta salida es configurar printf para que "reserve" un espacio mínimo para cada campo:
printf( "%02d", id ); // Dos caracteres para el id, relleno con ceros.
printf( " " ); // Espacio adicional
printf( "%8s", nombre ); // 8 caracteres para el nombre.
printf( " " ); // Espacio adicional
printf( "%-2d", edad ); // 2 caracteres para la edad, alineacion derecha.
Cita de: eferion en 21 Octubre 2013, 08:54 AMLa forma correcta de formatear esta salida es configurar printf para que "reserve" un espacio mínimo para cada campo
Solo un comentario: cuando se indica la anchura del campo la alineación predeterminada es a la derecha, "%-" se utiliza cuando se quiere una alineación a la izquierda.
Un saludo
Cita de: rir3760 en 22 Octubre 2013, 02:44 AM
Solo un comentario: cuando se indica la anchura del campo la alineación predeterminada es a la derecha, "%-" se utiliza cuando se quiere una alineación a la izquierda.
Un saludo
Cierto. Un lapsus tonto.
Gracias por la corrección