Potoki nazwane fifo.

0

Witam mam następujące zadanie:

ĆWICZENIE 4: Producent - Konsument: potoki nienazwane

Zaimplementować problem "producenta i konsumenta" przy pomocy programu, który:

Tworzy nienazwany potok do komunikacji między procesem głównym (producentem) a procesem potomnym (konsumentem)
Producent przesyła fragmentami zawartość pliku tekstowego do potoku
Konsument odczytuje zawartość potoku i zapisuje do innego pliku tekstowego

Po zakończeniu działania programu plik wejściowy i plik wyjściowy powinny być identyczne.

ĆWICZENIE 5: Producent - Konsument: potoki nazwane

Zaimplementować problem z ćwiczenia czwartego, tworząc dwa niezależne programy - producenta i konsumenta.

Komunikacja między programami przebiegać będzie przez potoki nazwane, tworząc potok FIFO:

Z linii komend
Z poziomu programu

Z ćwiczeniem 4 sobie poradziłem. Ale nie moge sobie dać rady z 5.

Otóż mam takie dwa pliki:

1.c

#include<stdio.h> 
#include<fcntl.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<stdlib.h> 


int main()
{
	mkfifo("potok", 0777); //stworzenie potoku
	
	FILE *we = fopen("in.txt","r");
	char odczyt[100]; char bufor[2];
int i=0;
                while(fgets(bufor,2,we)) {if(feof(stdin))break;odczyt[i]=bufor[0];i++;} odczyt[i]=0;               
		printf("Odczyt z pliku zapis do potoku FIFO:\n %s\n",odczyt);
		int out=open("potok",O_WRONLY | O_CREAT | O_TRUNC);
		write(out,odczyt,i);	
                
		printf("Tadam\n");

	return 0;
} 
 

2.c

#include<stdio.h> 
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<cstdio> 
using namespace std;

int main()
{
char zapis[100]; char bufor[2]; int i=0;
	int in = open("potok",O_RDONLY);
	FILE *wy = fopen("out.txt","w");

	while(read(in,bufor,1)){zapis[i]=bufor[0];i++;} zapis[i]=0;
        fputs(zapis,wy);
	printf("Przeczytane z potoku i wpisane do pliku!");
	
return 0;
}  

//PRZEROBIĆ NA PĘTLE!!!!!!! (dowolną ilość bajtów niech wczytuje :>)
 

co mam zrobić z tym dalej naprawde nie mam pojęcia bo kompiluje mi sie ale program niechce sie zakończyć:)

0
SzymonaS napisał(a):

dołączam jeszcze pdf z wykładu:)

http://th-www.if.uj.edu.pl/~placzek/dydaktyka/SO/cwiczenia/Potoki.pdf

Co dokladne te programy robia? Jak dzialaja? #DziekiWielki

1 użytkowników online, w tym zalogowanych: 0, gości: 1