Возможно вы искали: 'King's Bounty: Crosswo...'

May 15 2025 18:53:00
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » аналог утилиты cat по отношению к терминалу (terminal io)

аналог утилиты cat по отношению к терминалу (terminal io)

Ключевые слова: terminal, io, (найти похожие документы)

Date: Fri, 15 Mar 2002 18:10:26 +0300
From: Alexander Pevzner <pzz@pzz.msk.ru>
Newsgroups: fido7.ru.unix.prog
Subject: аналог утилиты cat по отношению к терминалу

ZK> А можено настроить cu (использует часть конфигов uucp) и его stdout
ZK> перенаправить в файл - тоже получится лог в файле.

Все эти cu выведут из равновесия кого угодно :-(

Вот, простенькая програмка (моего изготовления), которая ведет себя
как cat по отношению к терминалу.

MakeFile:

CC = gcc
CPPFLAGS = -Wall -O2 -g
LIBS =
LDFLAGS =
OBJS =
catterm.o
PROG = catterm
ALL = $(PROG)
PREFIX = /usr/local

# Autodependencies
ifneq (.depend,$(wildcard .depend))
ALL = dep_then_all
endif

# Standard rules
all: $(ALL)

dep_then_all:
make dep
make all

clean:
rm -f .depend
rm -f *.o core $(TESTS)
rm -f *.so
rm $(PROG)

install: $(PROG)
cp $(PROG) $(PREFIX)/bin/$(PROG)
strip $(PREFIX)/bin/$(PROG)

atnBuffer: atnBuffer.o test-atnBuffer.o
$(CC) $(CPPFLAGS) -o $@ $+

$(PROG): $(OBJS)
$(CC) $(CPPFLAGS) -o $@ $+ $(LIBS) $(LDFLAGS)

# Autodependencies
dep:
$(CC) $(CPPFLAGS) -M *.c >.depend

ifeq (.depend,$(wildcard .depend))
include .depend
endif




catterm.c:


#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <termios.h>

static speed_t tty_speed = B9600;
static char *tty_line = NULL;

#define panic_perror(msg...)
do{
int err = errno;
printf( msg );
printf( ": %sn", strerror( err ) );
exit( 1 );
}while(0)

#define panic(msg...)
do{
int err = errno;
printf( msg );
printf( "n" );
exit( 1 );
}while(0)

static void usage( void )
{
printf(
"usage:n"
" catterm [options] linen"
"options:n"
" -s speed -- line speed (default is 9600)n"
);

exit( 1 );
}

static speed_t speed2termio( unsigned long speed )
{
switch( speed )
{
case 2400: return B2400;
case 4800: return B4800;
case 9600: return B9600;
case 19200: return B19200;
case 38400: return B38400;
case 57600: return B57600;
case 115200: return B115200;
default: return 0;
}
}

static void parse_argv( int argc, char **argv )
{
int opt;

while( (opt = getopt( argc, argv, "s:" )) != EOF )
{
switch( opt )
{
case 's':
{
char *end;
unsigned long speed = strtoul( optarg, &end, 0 );
if( *end || !(tty_speed = speed2termio( speed )) )
{
printf( "%s: invalid speed -- %sn", argv[0], optarg );
usage();
}
}
break;

default:
usage();
}
}

if( optind < argc )
tty_line = argv[ optind ];
else
usage();
}

static FILE *tty_open( void )
{
int fd;
struct termios mode;
speed_t speed = speed2termio( tty_speed );
int tmp;
FILE *fp;

fd = open( tty_line, O_RDWR | O_NONBLOCK | O_NOCTTY );
if( fd == -1 )
panic_perror( "open()" );

memset( &mode, 0, sizeof( mode ) );
mode.c_cflag = CS8 | HUPCL | CLOCAL;
mode.c_iflag = IGNBRK | IGNPAR;
mode.c_oflag = 0;
mode.c_lflag = 0;

cfsetospeed( &mode, speed );
cfsetispeed( &mode, speed );

mode.c_cc[ VMIN ] = 1;
mode.c_cc[ VTIME ] = 0;

if( tcsetattr( fd, TCSANOW, &mode ) == -1 )
panic_perror( "tcsetattr()" );

tmp = fcntl( fd, F_GETFD );
tmp &= ~O_NONBLOCK;
fcntl( fd, F_SETFL, tmp );

fp = fdopen( fd, "rw" );
if( !fp )
panic_perror( "fdopen()" );

return fp;
}

int main( int argc, char *argv[] )
{
FILE *fp;
int c;

parse_argv( argc, argv );
fp = tty_open();

while( (c = getc( fp )) != EOF )
putchar( c );

return 0;
}



--
Wishes, Alexander Pevzner (pzz@pzz.msk.ru)
1020 Прочтений •  [аналог утилиты cat по отношению к терминалу (terminal io)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• аналог утилиты cat по отношению к т... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка