Имитация ввода данных пользователем (C/C++)

Модератор: Модераторы разделов

Аватара пользователя
bff7755a
Сообщения: 36
ОС: Debian, Ubuntu 9.04, FreeBSD

Имитация ввода данных пользователем

Сообщение bff7755a »

Добрый день.

Нужно запустить программу и передать ей данные, но не через стандартный поток ввода (конвеер), а эмулируя ввод пользователем.
Например, для telnet (наша программа, доустим, launcher):
$ ./launcher
executing telnet...
Transfering "open google.com 80" // <- данные передаются из первой программы
result is : "Connected"
Спасибо сказали:
Аватара пользователя
begin2009
Сообщения: 349
Статус: Ламер со стажем
ОС: без глюков

Re: Имитация ввода данных пользователем

Сообщение begin2009 »

bff7755a писал(а):
03.10.2009 20:14
Добрый день.

Нужно запустить программу и передать ей данные, но не через стандартный поток ввода (конвеер), а эмулируя ввод пользователем.
Например, для telnet (наша программа, доустим, launcher):
$ ./launcher
executing telnet...
Transfering "open google.com 80" // <- данные передаются из первой программы
result is : "Connected"

А если одна записываает в какой-либо файл, а другая из этого файла считывает. Или это не то?
Пессимист видит темный туннель, оптимист видит свет в конце туннеля, реалист видит свет, туннель и поезд.
И только машинист видит этих трех идиотов, сидящих на рельсах.
Спасибо сказали:
Аватара пользователя
bff7755a
Сообщения: 36
ОС: Debian, Ubuntu 9.04, FreeBSD

Re: Имитация ввода данных пользователем

Сообщение bff7755a »

begin2009 писал(а):
04.10.2009 16:15
А если одна записываает в какой-либо файл, а другая из этого файла считывает. Или это не то?

Не подходит. Первая программа не должна ничего подозревать, т.е. как-будто данные вводит пользователь.
Спасибо сказали:
Аватара пользователя
nesk
Сообщения: 2268
Статус: Линукссаксовец
ОС: MS Windows XP Home SP3

Re: Имитация ввода данных пользователем

Сообщение nesk »

может Вам вот это подойдет: http://ru.wikipedia.org/wiki/Expect

Ну и конечно можно просто создать программку, работающую в режиме эмуляции терминала
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

0xDEFEC8ED
Спасибо сказали: