68 / 59 / 20
Регистрация: 19.12.2014
Сообщений: 205
1

Непродвигаемый вывод в строку в консоли

02.06.2016, 09:58. Показов 2569. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Часто бывает полезно выводить на консоль прогресс выполнения задачи, изменяя только часть строки вывода, например:

Код
54 from 3000 iterations proceeded
(здесь меняется первая цифра; для упрощения задачи использованы латинские буквы, вывод на консоль русских дан в другой теме).

Это можно сделать так:

...
Fortran
1
m = 3000
...
Fortran
1
write (unit=6, '(''+'', i5, a, i5, a)') j, ' from ', n, '  iterations proceeded'
Однако, есть проблемы (поправьте, если я не прав):

1. Насколько я понимаю, из стандарта 2003 управление кареткой удалено, т.е. такое решение вне стандарта
2. Использовать тут оператор print нельзя. Почему?
3. advanced='no' и спецификация \ не работают
4. Надо использовать именно unit=6, а не *. Почему?
5. По-видимому, в разных компиляторах возможны разные решения. Какие?
6. Какие еще решения вообще возможны?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2016, 09:58
Ответы с готовыми решениями:

Вывести строку символов по указанным координатам в консоли, очертить строку на экране одинарной рамкой
Вывести строку символов по указанным координатам, очертить строку на экране одинарной рамкой....

Циклы: вывести в первую строчку консоли строку из 10 заданных букв и во вторую строчку консоли из 5 таких букв
Задана буква. Вывести в первую строчку консоли строку из 10 таких букв и во вторую строчку консоли...

Считать строку из консоли
Здравствуйте. Скажите, пожалуйста, как можно считать текст из консоли, завершающийся EOF? Хотел...

Считать строку из консоли
Как в с++ получить в виде строки то, что ответила система на команду. То есть если я, к примеру,...

6
Модератор
Эксперт функциональных языков программированияЭксперт Python
36578 / 20308 / 4218
Регистрация: 12.02.2012
Сообщений: 33,606
Записей в блоге: 13
02.06.2016, 10:11 2
Если драйвер консоли поддерживает ESC-последовательности, то проблема легко решается.
0
68 / 59 / 20
Регистрация: 19.12.2014
Сообщений: 205
02.06.2016, 11:57  [ТС] 3
Цитата Сообщение от Catstail Посмотреть сообщение
Если драйвер консоли поддерживает ESC-последовательности, то проблема легко решается.
Я уже и забыл, что такое ECS-последовательность... И как это сделать? Как определить поддержку их консолью?
Кроме того, такое решение, скорее всего не очень то мобильно...
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36578 / 20308 / 4218
Регистрация: 12.02.2012
Сообщений: 33,606
Записей в блоге: 13
02.06.2016, 12:02 4
Цитата Сообщение от MZN Посмотреть сообщение
не очень то мобильно...
- юниксовые/линуксовые консоли поддерживают ESC-последовательности.
0
60 / 69 / 16
Регистрация: 18.04.2016
Сообщений: 213
02.06.2016, 14:28 5
ncurses
1
68 / 59 / 20
Регистрация: 19.12.2014
Сообщений: 205
02.06.2016, 14:59  [ТС] 6
ncurses для какой-либо интерактивной задачи. А для этой разводить столько сложностей...
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36578 / 20308 / 4218
Регистрация: 12.02.2012
Сообщений: 33,606
Записей в блоге: 13
02.06.2016, 19:44 7
Лучший ответ Сообщение было отмечено MZN как решение

Решение

Здесь и про ESC-последовательности, и при ncurses.
0
02.06.2016, 19:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.06.2016, 19:44
Помогаю со студенческими работами здесь

Считать строку с консоли
такая задачка, препод хочет чтобы мы не юзали класс string, а юзали массивы символов, причем только...

Изменить строку в консоли
У меня такой вопрос. Как можно изменить одну или несколько строк в консоли? То есть если есть,...

Очистить строку консоли
Даны строчки консоли Надо последнюю строчку стереть и записать новые данные. Читал, можно через \r...

Считываем строку из консоли
Добрый день. Прошу помочь с проблемкой. Нужно считать строку, записать в переменную, после чего...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru