Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail


Оплата за обучение в Kata Academy только после твоего трудоустройства в IT, начни карьеру Middle Java-разработчика


Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2009, 19:33   #1
Win32Trojan
Новичок
Джуниор
 
Регистрация: 29.09.2009
Сообщений: 4
Лампочка Использование консольных команд [си]

Каким образом можно использовать команды предназначенные для терминалов, конкретно интересует команды echo. К примеру как реализовать ввод в консоль
echo -e "\Eс" или echo -en "\033[12A\033[30G\033[1;5;31;41m list \033[0m\033[12E" ,так чтобы она интерпретировалась как команда и успешно выполнилась ?
Win32Trojan вне форума Ответить с цитированием
Старый 29.09.2009, 19:51   #2
pproger
C++ hater
СуперМодератор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,338
По умолчанию

какие именно? если только echo - то это то же printf. иначе system("you_command");
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 29.09.2009, 19:58   #3
jojahti
Подтвердите свой е-майл
 
Регистрация: 27.07.2009
Сообщений: 437
По умолчанию

Это с++, но может и на с распространяется?


Код:
#include <cstdlib>
int main() {
 system("color 30");
 system("pause");
}
jojahti вне форума Ответить с цитированием
Старый 29.09.2009, 20:10   #4
Win32Trojan
Новичок
Джуниор
 
Регистрация: 29.09.2009
Сообщений: 4
По умолчанию

Используются esc коды
Цитата:
Сообщение от pproger Посмотреть сообщение
иначе system("you_command");
с ситемом получалось что то вроде
system("echo -e '\E[10A'");
но если необходимо использовать двойныйе ковычки вместо одинарных
system("echo -e "\E[10A""); - косяк, дифайн тоже неспасает...
Win32Trojan вне форума Ответить с цитированием
Старый 29.09.2009, 20:12   #5
jojahti
Подтвердите свой е-майл
 
Регистрация: 27.07.2009
Сообщений: 437
По умолчанию

Ушки вроде юзаются непосредственно в кмд. После них всегда символом консоль всё считает.

Напиши что ты там хочешь ввести текстом, как это в консоли выглядит. Надо поэкспериментировать.
jojahti вне форума Ответить с цитированием
Старый 29.09.2009, 20:19   #6
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от Win32Trojan Посмотреть сообщение
Используются esc коды

с ситемом получалось что то вроде
system("echo -e '\E[10A'");
но если необходимо использовать двойныйе ковычки вместо одинарных
system("echo -e "\E[10A""); - косяк, дифайн тоже неспасает...
Ну, вероятно, потому что правильно вот так:
Код:
system("echo -e \"\\E[10A\"");
netrino вне форума Ответить с цитированием
Старый 29.09.2009, 20:24   #7
pproger
C++ hater
СуперМодератор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,338
По умолчанию

у меня и так все выполняется:
http://img406.imageshack.us/img406/6...81280x800s.png
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 29.09.2009, 20:31   #8
Win32Trojan
Новичок
Джуниор
 
Регистрация: 29.09.2009
Сообщений: 4
По умолчанию

Цитата:
Сообщение от netrino Посмотреть сообщение
Ну, вероятно, потому что правильно вот так:
Код:
system("echo -e \"\\E[10A\"");
Так не выполняется команда.

pproger почти то что нужно но опять же с двойными ковычками будет косяк (

Как ни старнно на даботает даже так
Код:
#include <stdio.h>
int main()
    {
char *echo="\E[42m";
printf("%s",echo);
     return 0;   
    }
jojahti вводить буду различные esc команды начиная от смены цвета заканчивая выводом устройств.

И еще каким образом можно скрыть то что выполняет echo.

Последний раз редактировалось Win32Trojan; 29.09.2009 в 20:36.
Win32Trojan вне форума Ответить с цитированием
Старый 29.09.2009, 20:35   #9
pproger
C++ hater
СуперМодератор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,338
По умолчанию

2Win32Trojan
может тогда не надо изголяться и заюзать ncurses? если тебе рисовалка консольная нужна
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 29.09.2009, 20:44   #10
Win32Trojan
Новичок
Джуниор
 
Регистрация: 29.09.2009
Сообщений: 4
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
2Win32Trojan
может тогда не надо изголяться и заюзать ncurses?
Дело в то что нужно использовать именно esc коды.

Всем спасибо за быстрые ответы.

Вариант pproger'а очень подходит...
Win32Trojan вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
tasm, использование команд ввода/вывода. Доступ к портам iggor Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 17.06.2009 21:58
Обработка сообщений в консольных приложениях Mixasik Общие вопросы Delphi 2 06.06.2009 21:50
CreateProcess. Существуют тонкости в запуске консольных приложений? st01en Win Api 10 12.05.2009 10:50
Задача на ассемблере. Использование команд сдвига. SoundMan Помощь студентам 2 25.09.2008 20:17

Реклама для незарегистрированных, регистрация на форуме