0 / 0 / 0
Регистрация: 21.02.2017
Сообщений: 18

Прокрутка консоли

08.05.2017, 14:59. Показов 1644. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне дали задание написать клиент-серверное консольное приложение под винду и линукс, что то типа мессенджера. Надо сделать так, что бы данные, введенные пользователем и данные, которые пришли с другой стороны не ложились друг на друга. На винде я все это сделал достаточно красиво с помощью WinAPI-шных функций (ScrollConsoleScreenBuffer, SetCursorPosition). Можно ли что-то подобное сделать на линуксе БЕЗ использования сторонних библиотек?
Миниатюры
Прокрутка консоли  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.05.2017, 14:59
Ответы с готовыми решениями:

Прокрутка консоли клавиатурой
Подскажите пожалуйста, как прокручивать консоль с помощью клавиатуры?

Параллельная вертикальная прокрутка двух блоков и отдельная горизонтальная прокрутка одного из двух блоков
Всем привет! Помогите решить проблему, пожалуйста. Есть блок div, внутри которого два блока div (в каждом из них по одной таблице),...

Как запустить программу из консоли без блокировки консоли?
Вводу например firefox в консоль открывается приложение и в консоль больше ничего ввести нельзя пока не закроешь приложение ...

3
191 / 151 / 61
Регистрация: 08.04.2010
Сообщений: 1,032
09.05.2017, 09:14
Может программа должна быть одна, с использованием Qt? Без использования сторонних библиотек в Linux так просто не получится, используйте ncurses.
0
Диванный эксперт
Эксперт С++
 Аватар для Max Dark
2550 / 2064 / 971
Регистрация: 09.10.2013
Сообщений: 4,793
Записей в блоге: 4
09.05.2017, 10:33
Цитата Сообщение от the_whatever Посмотреть сообщение
БЕЗ использования сторонних библиотек?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
 
namespace tools {
    // перемещает курсор. координаты начинаются с единицы
    void move_cursor(int row, int col) {
        // look at https://en.wikipedia.org/wiki/ANSI_escape_code#CSI_codes
        std::cout << "\033[" << row << ";" << col << "H";
    }
    // очищает экран и перемещает курсор в верхний левый угол
    void clear_screen() {
        // look at https://en.wikipedia.org/wiki/ANSI_escape_code#CSI_codes
        static std::string magic = "\033[2J";//"\033[A\033[2K\033[A\033[2K";
        std::cout << magic;
        move_cursor(1, 1);
    }
}
А так без ncurses будет тяжко.(хотя и с ними тоже)
1
0 / 0 / 0
Регистрация: 21.02.2017
Сообщений: 18
09.05.2017, 15:31  [ТС]
Max Dark, это, кстати, сойдет, спасибо. Вот только некоторые из этих последовательностей упорно отказываются работать (сохранение и восстановление позиции курсора и сколлинг)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.05.2017, 15:31
Помогаю со студенческими работами здесь

Клавиши F1-F12 в консоли, и работа с мышкой в консоли
Я искал на сайте, но не нашел упоминания о том как обрабатывать и или узнавать где находится курсор мышки (и еще мне надо бы узнать нажатие...

Возможно ли, работая в консоли хрома, сохранять информацию, помимо логов консоли (console.log), куда-нибудь ещё?
Всем, привет :) Подскажите пожалуйста, возможно ли на js, работая в консоли хрома, сохранять текстовую инфу по мимо логов консоли...

Реализация кроссфплатформенности консоли, разрешение консоли
Можно ли как-то реализовать просчёт количества пикселей экрана? Просто есть вот такая программа, анимация снега, и если запускаешь её на...

считывание с консоли ( не с клавы, а именно с консоли)
нужно написать функцию которая возвращает string в котором написано 500 символов которые были выведены в консоли от начала. среда :...

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


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

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

Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru