Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/29: Рейтинг темы: голосов - 29, средняя оценка - 4.62
2 / 2 / 0
Регистрация: 18.08.2011
Сообщений: 17

Перерисовка строки в консоле (progress bar)

31.07.2012, 05:39. Показов 5949. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Появилась задачка в одельном потоке приложения выводить текущее состояние обработки (один поток работает, а второй выводет результат в консоль)
В поисках псевдографики в консоле, я нашел как выводить строку с самозаменой.
и вот что у меня вышло на баше:
Bash
1
2
3
4
5
6
7
8
9
10
#!/bin/bash
 
# самопальная меньшесекундная задержка
alias usleep='>/dev/null ping -c 2 127.0.0.1 -i'
 
for i in {1..10}; do
    echo -en "\rLoading...\t$i%"
    usleep 0.2
done
echo -en "\r"
Но вот когда попробовал перенести это на с++ то не выходит.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <unistd.h>
int main()
{
    int i = 0;
    while(i++ < 10)
    {
        usleep(100000);
        printf("\r%d", i);
    }
    printf("\n");
    return 0;
}
Проблема в том, что если есть подрят вывод без переноса в цыкле с задержкой, то оно попросту ждет когда будет перенос и тогда его и выведет. Тоесть в даном случае вместо ожидаемого щетчика, подождав несколько секунд выводется: 123456789
Кто знает как с этим боротся?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.07.2012, 05:39
Ответы с готовыми решениями:

Можно ли переделать Progress bar в Track bar?
Можно ли переделать Progress bar в Track bar? От прогресбара нужно всего лишь, что бы можно было перемещать внутри его (заливку) ползунок.

Progress Bar
Допустим, нужно сделать так чтобы после нажатия на кнопку, прогресс бар начинал свою работу, и после завершения выдавал Сообщение(Message...

Progress bar
Я собственно совсем новичок в программировании, так что не ругайтесь строго. Вопрос вот в чем, у меня есть одна форма, с определенными...

3
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
31.07.2012, 08:46
например fflush(stdout);
1
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
14.08.2012, 14:37
C++
System("clear");
0
19 / 11 / 0
Регистрация: 02.09.2010
Сообщений: 235
15.08.2012, 00:19
Переводишь указатель куда надо и печатаешь
— \033[#A — передвинуть курсор вверх на # строк;
— \033[#B — передвинуть курсор вниз на # строк;
— \033[#С — передвинуть курсор вправо на # столбцов;
— \033[#D — передвинуть курсор влево на # столбцов;
— \033[#E — передвинуть курсор вниз на # строк и поставить в начало строки;
— \033[#F — передвинуть курсор вверх на # строк и поставить в начало строки;
— \033[#G — переместить курсор в указанный столбец текущей строки;
— \033[#;#H — задает абсолютные координаты курсора (строка, столбец).
Пример:
\033[0;2000H
Передвинет указатель вверх окна и установит в начале строки.

Бороться с переносом очень просто:
\033[2000E\033[1F\n
1. указатель будет перемещен в самый низ, начало строки
2. указатель будет перемещен на строку выше
3. указатель будет перемещен на строку ниже переносом \n + будет осуществлен вывод всего, что было проделано ранее
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.08.2012, 00:19
Помогаю со студенческими работами здесь

Progress Bar
помогите плиз не могу понять почему мне подчёркует AnsiString Folder и другие . void FolderSize(AnsiString Folder,int...

Progress Bar
Подскажите как сделать чтоб например я создал Progress Bar и один Button. И когда я нажимаю на Button Progress Bar не полностью проходил а...

progress bar
Вообщем суть в этом у меня есть 3 формы в первой форме заполняются эдит1 потом открывается идет отправка этого сообщения на мэйл и...

progress bar
Написала код для простенького web браузера вот код brouser.h #ifndef BROWSER_H #define BROWSER_H #include...

Progress bar?
Доброе время суток! Подскажите, пожалуйста, что лучше использовать? Программа простая, к заданному значению прибавляется другое...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 16.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 15.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru