Печать динамического значения в C - PullRequest
1 голос
/ 29 ноября 2010

У меня есть программа, которая передает файл, написанный на C. Я хотел дать пользователю некоторую обратную связь о том, сколько байтов и / или процентов было передано.Мои коды делают что-то вроде этого:

Передача ...... 100 байт.
Передача ...... 200 байт.
Передача ...... 300 байт.
Передача ...... 400 байт.
Передача ...... 500 байт.
Передано завершено !!!

Как видите, если я передам большой файлон напечатает кучу строк.Можно ли обновлять и изменять количество байтов без печати другой строки?

Заранее спасибо, ребята!

Ответы [ 3 ]

2 голосов
/ 29 ноября 2010

Нет стандартного способа сделать это в стандартном C - в конце концов, вывод вашей программы может идти прямо на линейный принтер.

Однако на многих терминалах вы можете напечатать символ \rчтобы вернуть курсор в начало текущей строки (или вывести количество \b символов возврата на одну строку, чтобы стереть символы один за другим).

0 голосов
/ 29 ноября 2010

Если вы пишете приложение для win32, вы можете манипулировать положением курсора с помощью метода SetConsoleCursorPosition(HANDLE, COORD) для перезаписи определенных символов:

http://msdn.microsoft.com/en-us/library/ms686025(v=VS.85).aspx

0 голосов
/ 29 ноября 2010

Используйте \r вместо \n.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...