Вставить символы во входной буфер устройства
#include <termios.h>int tcinject( int fd,char *buf,int n );
libc
Функция tcinject() вставляет n символов, на которые указывает buf, во входной буфер устройства, указанного в fd.
Обратите внимание, что при вводе в обработанную очередь редактирование символов в buf выполняется так, как если бы пользователь вводил их непосредственно с устройства. Если не содержит новой строки (‘\n’), возврат каретки (‘\r’) или символ пересылки данных, такой как EOF
, данные не становятся доступными для чтения. Если в buf содержится символ пересылки данных, то он должен быть единственный и последний в буфере buf.
Эта функция полезна для реализации алгоритмов вызова командной строки путем вставки запомненных строк в обработанную очередь.
#include <stdio.h>#include <stdlib.h>#include <termios.h>int main( void ){char *p = "echo Hello world!\n";/* Inject the line all at once */tcinject( 0, p, strlen( p ) );/* Inject the line one character at a time */while ( *p )tcinject( 0, p++, 1 );return (EXIT_SUCCESS);}
ЗОСРВ «Нейтрино»
Предыдущий раздел: Описание API системной библиотеки