599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
1

Возврат каретки консоли!

19.11.2015, 17:02. Показов 31659. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброе время суток!

Вопрос который мне не дает покоя уже 2й месяц!
И так у нас есть управляющие символы:
- \n (новая строка)
- \t (табуляция)
- \r (возврат каретки)
- \a (сигнал)

Знаю что в линухе есть \13. То есть поднять каретку на строчку вверх, обнулить количество символов и начать вывод строки.
Собственно вопрос как это можно реализовать другими средствами, если \13 не поддерживается осью?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.11.2015, 17:02
Ответы с готовыми решениями:

Вывод в консоль и возврат каретки
Вывожу в цикле в консольное приложение по ходу обработки данных массива: cout << "Обработано...

Что такое возврат каретки?
\r - что делает этот управляющий символ, и чем он отличается от \n?

Перемещение каретки в консоли
Как это работает,как правильно написать это,я нашел кучу разных статей на эту тему ,все понял,но не...

Перевод каретки и ввод данных в консоли
Хотелось бы ввести данные в две строки за один раз... В простейшем случае пример выглядит так: ...

11
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788
19.11.2015, 17:13 2
Вам нужна вертикальная табуляция?
\v
0
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
20.11.2015, 11:57  [ТС] 3
Aymurat, нет вертикальная табуляция увеличивает на один счетчик строки и прибавляет табуляцию к счетчику символа,
а мне надо обнулить счетчик символа и отнять 1 от счетчика строки

Добавлено через 2 часа 46 минут
Тема актуальна, как раз под вечер когда народу побольше, не ушто ли не кто не расскажет?

Добавлено через 15 часов 52 минуты
Вверх, ребят честно вообще нет мыслей по этому поводу, хоть пните в какую сторону смотреть!
0
Модератор
Эксперт С++
13504 / 10755 / 6410
Регистрация: 18.12.2011
Сообщений: 28,706
20.11.2015, 12:06 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <conio.h>
#include <windows.h>
void gotoxy(int xpos, int ypos)
{
  COORD scrn;    
  HANDLE hOuput = GetStdHandle(STD_OUTPUT_HANDLE);
  scrn.X = xpos; scrn.Y = ypos;
  SetConsoleCursorPosition(hOuput,scrn);
}
 
int main(void)
{
  for(int i = 1, j = 24; j >0; i+=3, j--) {
     gotoxy(i, j);
     cprintf("X");
  }
  getch();
  return 0;
}
2
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
20.11.2015, 13:10  [ТС] 5
zss, Мерси конечно, а без WinAPI ??? ибо
Цитата Сообщение от Mesteriis Посмотреть сообщение
Работаю на Mac OS X Пишу на Mac OS X!!!
0
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
20.11.2015, 13:21 6
Цитата Сообщение от Mesteriis Посмотреть сообщение
Знаю что в линухе есть \13
он же 0x13, он же CR, он же \r, он же возврат каретки. Если ваша ось обрабатывает его как перевод строки, то придется писать свой велосипед средствами API своей же оси.
0
Модератор
Эксперт С++
13504 / 10755 / 6410
Регистрация: 18.12.2011
Сообщений: 28,706
20.11.2015, 13:23 7
Может сгодится метод отрубания головы:
Полностью очищаем экран и выводим все по новой.
0
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
20.11.2015, 13:38  [ТС] 8
zss, Да вот, так пока и делаю, но не удобно это все, там просто вот так
Bash
1
2
3
4
5
//какой то текст
//какой то текст
//какой то текст
 
//процес копирования (который необходимо переписывать возвратом каретки
проблема в том что процесс копирования перерисовывается каждую секунду, и он состоит из 2х строк, иначе бы сгодился \r.
проблемка очистки экрана то что я потеряю "// какой то текст" перерисовывать этот какой то текст каждый раз, ну блин это прям плохо плохо!
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
20.11.2015, 13:44 9
Цитата Сообщение от Mesteriis Посмотреть сообщение
То есть поднять каретку на строчку вверх
Откуда инфа, что это "поднять на строчку вверх"?

Символ \r (13) - это возврат каретки на начало текущей строки
Символ \n (10) - это перевод каретки на следующую строку

В винде последовательность \r\n (13, 10) является по смыслу переводом строки
В линухе один символ \n (10) делает оба действия одновременно
0
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
20.11.2015, 13:54  [ТС] 10
Цитата Сообщение от Evg Посмотреть сообщение
В линухе один символ \n (10) делает оба действия одновременно
Да это понятно, сейчас именно необходимо поднять каретку на одну строку на верх!
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
20.11.2015, 14:25 11
Цитата Сообщение от Mesteriis Посмотреть сообщение
Да это понятно, сейчас именно необходимо поднять каретку на одну строку на верх!
А при чём тут "Знаю что в линухе есть \13"?

Добавлено через 4 минуты
Если про вообще, то все управляющие символы тут
https://ru.wikipedia.org/wiki/... 0%BB%D1%8B
Перемещение на одну строку вверх отсутсвует
0
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
20.11.2015, 14:52  [ТС] 12
Цитата Сообщение от Evg Посмотреть сообщение
А при чём тут "Знаю что в линухе есть \13"?
Это утверждение родилось из того что смотрел как то обучающие видео и автор использовал \13. вечером если найду кину ссылку с ютуба на данный момент!
0
20.11.2015, 14:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2015, 14:52
Помогаю со студенческими работами здесь

Перевод каретки и ввод данных в консоли
Хотелось бы ввести данные в две строки за один раз... В простейшем случае пример выглядит так: ...

Возврат каретки
Кто может привести пример использования возврата каретки(\r) в Java(или в другом ЯП)? Есть ли...

Возврат каретки
Не могу понять зачем в этом коде возврат корретки.... Почему &quot;\n&quot; без &quot;\r&quot; не переводит на новую...

отменить возврат каретки
При нажатии на Enter выполняется набор действий. Что не устраивает. То, что клавиша Enter...


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

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

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