| Ver tema anterior :: Ver siguiente tema |
| Autor | Mensaje |
|---|
christopherccg
Registrado: 15 Nov 2011 Mensajes: 3 Ubicación: México
| Publicado: 15/11/2011 7:31 pm | | | Título: Imprimir linea dinamica en C |
| ¿Como puedo imprimir una línea dinámica con printf()?
Me explico, si la terminal mide 80 caracteres que muestre una línea de 80 caracteres, si la terminal mide 120 caracteres que muestre una línea de 120 caracteres, si mide 40 que muestre una linea de 40 caracteres.
---------------------------------------------------------------------------------------- |
|
| Volver arriba | |
 |
rir3760

Registrado: 01 Oct 2004 Mensajes: 6586 Ubicación: Mexico
| Publicado: 16/11/2011 4:03 am | | | Título: |
| Primero necesitas obtener las dimensiones en caracteres, algo que no es posible con C estándar. Tal vez lo sea utilizando extensiones pero primero debes indicar el compilador y SO que estas utilizando.
Un saludo _________________ Memory never recaptures reality. Memory reconstructs. All reconstructions change the original, becoming external frames of reference that inevitably fall short. -- Mentat Handbook |
|
| Volver arriba | |
 |
christopherccg
Registrado: 15 Nov 2011 Mensajes: 3 Ubicación: México
| Publicado: 16/11/2011 5:32 pm | | | Título: |
| Tenía la idea porque lo había visto en un programa, el programa estaba escrito en un script de shell, por lo tanto con $COLUMS sacaba el tamaño de la consola.
Estoy en GNU/Linux y solamente es curiosidad para saber si se podría hacer.
Muchas gracias por tu respuesta. . |
|
| Volver arriba | |
 |
|
rir3760

Registrado: 01 Oct 2004 Mensajes: 6586 Ubicación: Mexico
| Publicado: 18/11/2011 8:33 am | | | Título: |
| Utilizando Cygwin (un emulador de *Unix para MS Windows) el siguiente ejemplo funciona correctamente y reporta el tamaño en caracteres de la consola:
| Código: | #include <stdio.h>
#include <sys/ioctl.h>
int main(void) { struct winsize w; ioctl (0, TIOCGWINSZ, &w); printf("lines %d\n", w.ws_row); printf("columns %d\n", w.ws_col); return 0; } |
No es un ejemplo mio sino cortesía de la pagina Getting terminal width in C?
Un saludo _________________ Memory never recaptures reality. Memory reconstructs. All reconstructions change the original, becoming external frames of reference that inevitably fall short. -- Mentat Handbook |
|
| Volver arriba | |
 |
|
|