nesk писал(а): ↑29.08.2009 16:20
LuckyStr писал(а): ↑29.08.2009 16:11
в таком случае необходимы PTY. А как с ними работать, есть у кого-нибудь пример на C/C++ или ссылка на статью, буду очень благодарен
Вы мое сообщение проигнорировали? я там дал ссылку на пример (может не самый свежий и самый рабочий, но там есть на что посмотреть)
нет не проигнорировал, а пытался разобраться в коде и примитивно резюмировал ее под себя, получилось так:
Код: Выделить всё
#include <stdio.h>
#include <sys/types.h>
#include <sys/signal.h>
#include <termio.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#define PTY "/dev/ptyp0" /* master */
/* slave - это часть, которая ведет себя как драйвер терминалов */
#define TTYP "/dev/ttyp0" /* slave */
int ptyfd;
FILE * ftrace = NULL;
int main(void)
{
char c[512];
int n;
if((ptyfd = open ( PTY , O_RDWR)) < 0){
fprintf(stderr, "Cannot open pty\n"); //exit(2);
}
write (ptyfd, "ls", 3);
n = read (ptyfd, c, 512);
fprintf (stderr, c);
read (0, &c, 1); /* читать букву с клавиатуры */
write (ptyfd, &c, 1); /* записать ее на master-pty */
return 0;
}
выводит в :"Cannot open pty", видимо т.к. нет файла /dev/ptyp0. Пытался сделать с
, но выводит тоже самое что я и вводил.
Вопрос: как сделать файл /dev/ptyp0 или какой у него аналог?