Título: como puedo imprimir con printf sin que se repita tanto por while? Publicado por: Belial & Grimoire en 13 Mayo 2013, 04:33 am hola
alguien sabe como podria hacer para que un programa, al hacer la transferencia de archivos, me marque una cantidad sin repetir todo el printf varias veces por while por ejemplo Código
si hago esto me aparece Código: Enviando-- 3753472 bytes pero me gustaria que no se moviera, que aparezca estatico y solo se vaya aumentando los numeros poco a poco Código: Enviando-- 3753472 bytes alguien tiene alguna idea de como podria hacer para que solo aumente la cantidad y no se repita tanto el printf como arriba?, porque me gustaria poner un porcentaje y la cantidad exacta algo asi Código: Enviando-- 2% 3753472 / 74021921bytes EDITADO P.D. lo estoy haciendo en linux salu2 Título: Re: como puedo imprimir con printf sin que se repita tanto por while? Publicado por: capsulasinformaticas en 13 Mayo 2013, 06:40 am Si lo quieres hacer estandar, saca el '\n' al final de la cadena y pon un '\r' al principio, con eso deberia bastar.
Título: Re: como puedo imprimir con printf sin que se repita tanto por while? Publicado por: Luna71c0 en 13 Mayo 2013, 07:26 am Si piensa hacer una aplicación de consola porque no simplemente borras la pantalla ?
por cierto es "envio", no "enbio" :P Título: Re: como puedo imprimir con printf sin que se repita tanto por while? Publicado por: capsulasinformaticas en 13 Mayo 2013, 07:52 am Si piensa hacer una aplicación de consola porque no simplemente borras la pantalla ? por cierto es "envio", no "enbio" :P Bueno tambien esta esa opcion pero me gusta mas lo estandar xD, si lo quieres hacer con un limpiado de pantalla puedes hacer cout << "\E[H\E[2J"; en Linux (o sistemas Unix), o system("cls"); en Windows. Pd: Creo que para system("cls"); es necesario la libreria ctdlib o stdlib.h, no estoy seguro. Título: Re: como puedo imprimir con printf sin que se repita tanto por while? Publicado por: 0xDani en 13 Mayo 2013, 16:39 pm Pues borras la pantalla en cada iteración del bucle, la forma rápida es esta:
Código La forma elegante, no sé ahora mismo, pero supongo que pasaría por usar termios o ioctl. Y en cuanto al porcentaje: Obtienes el tamaño del archivo, y con eso haces el porcentaje, luego lo muestras por pantalla. Saludos. Título: Re: como puedo imprimir con printf sin que se repita tanto por while? Publicado por: Belial & Grimoire en 13 Mayo 2013, 19:21 pm hola
gracias por las respuestas hice lo de system()... pero no gusto como se limpia toda la pantalla... Citar Luna71c0 jajaja cierto... lo puse con "b" :P, corregido lo intente con "\r" y le agregue fflush(stdout) y funciono... se queda statico... a veces parpadea pero bueno, no creo que importe mucho.. gracias de nuevo Título: Re: como puedo imprimir con printf sin que se repita tanto por while? Publicado por: mr.blood en 13 Mayo 2013, 19:34 pm hola gracias por las respuestas hice lo de system()... pero no gusto como se limpia toda la pantalla... lo intente con "\r" y le agregue fflush(stdout) y funciono... se queda statico... a veces parpadea pero bueno, no creo que importe mucho.. gracias de nuevo Nunca se deja de aprender ;). Muy buen tip. Sa1uDoS Título: Re: como puedo imprimir con printf sin que se repita tanto por while? Publicado por: WHK en 13 Mayo 2013, 20:11 pm saca la longitud de carácteres del valor del porcentaje y luego lo vas borrando con \b, es mucho mas efectivo porque no necesitas borrar la linea completa y no parpadea todo el texto, solo se borra el valor, la consola redenderiza mas rápido, por lo tanto tu aplicación también se vuelve mas rápida.
Por ejemplo \b1 \b2 \b3 \b10 \b\b11 \b\b12 \b\b50 \b\b100 Y funciona en todos los sistemas operativos siempre y cuando uses printf. |