Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
19
Добавлен:
01.05.2014
Размер:
855 б
Скачать
	#include <iostream.h>

	#include <stdio.h>

	#include <errno.h>

	#include <sys/types.h>

	#include <unistd.h>

	#include <fcntl.h>

	#include <string.h>

	#include <sys/stat.h>



	int main( int argc, char* argv[]) 		

	{

		if (argc !=2 && argc !=3) 	

		{

			cout << "usage: " << argv[0] << " <file> [<arg>]\n";

			return 0;

		}

		int  fd;
		char buf[256];

		(void)mkfifo(argv[1],S_IFIFO|S_IRWXU|S_IRWXG|S_IRWXO);

		if (argc==2) 					/* reader process */

		{

			fd = open(argv[1],O_RDONLY|O_NONBLOCK);

			while (read(fd,buf,sizeof(buf))==-1 && errno==EAGAIN) sleep(1);

			while (read(fd,buf,sizeof(buf)) > 0) cout << buf << endl;

		} else 					/* writer process */

		{

			fd = open(argv[1],O_WRONLY);

			write(fd,argv[2],strlen(argv[2]));

		}

		close(fd);


		return 0;
	}
Соседние файлы в папке ch7