[C con Clase] emuar comportamiento de printf

Salvador Pozo salvador en conclase.net
Mie Ago 26 15:48:30 CEST 2009


El pasado 2009-08-26 12:38:16, Kalith escribió:
 
K> buenas a todos..
Hola:

K> Bien sabemos que printf es muy versátil al momento de mostrar por pantalla
K> caracteres formateados de una u otra manera, por ejemplo
K> printf("%5d", n);
K> muestra el numero alineado 5 espacios mas a la derecha
K> mi pregunta es como puedo hacer esto variable?

Lo cierto es que printf tiene prevista esa característica:

http://c.conclase.net/curso/index.php?cap=902c#lib_printf

Hay que usar un asterisco '*' en lugar de un número, y el valor se tomará de la lista de argumentos. Por ejemplo:
printf("%*d", 5, n);

Equivale a:
printf("%5d", n);

K> me han dicho que con iomanip se puede pero realmente no he encontrado la
K> forma

Usando C++ es mejor usar opmanip:
http://c.conclase.net/curso/index.php?cap=903b
Usando "precision" o "width":

   float x = 23.45684875;
   
   cout << "|";
   cout.precision(6);
   cout << x << "|" << x << "|" << endl;

o:
   int x = 23;
   
   cout << "#";
   cout.width(10);
   cout << x << "#" << x << "#" << endl; 

Hasta pronto.

-- 
Salvador Pozo (Administrador)
mailto:salvador en conclase.net


Más información sobre la lista de distribución Cconclase