Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <fcntl.h>
- // server - preia nume director, trimite # bytes
- int main() {
- int f, cod, codW, fW;
- cod = mkfifo("citire",0666);
- codW = mkfifo("scirere",0777);
- if(cod<0){
- printf("Eroare la creare fifo \n");
- exit(2);
- }
- f = open("citire",O_RDONLY);
- if(f<0){
- printf("Eroare deschidere fifo server \n");
- exit(1);
- }
- // citirea din pipe
- int i = 0, l;
- char c, buf[100];
- do{
- //citesc un caracter
- l=read(f,&c,sizeof(char));
- //daca e valid il adaug in sir
- if (l>0){
- buf[i]=c;
- i++;
- }
- }while (l>0);
- buf[i] = 0;
- close(f);
- // contruim comanda shell
- char command[100] = "du -b ";
- strcat(command, buf);
- FILE* file = popen(command, "r");
- i = 0;
- char result[1000];
- while ((c = fgetc(file)) != ' ') { // citim ca din fisier normal, pana la ' '
- result[i++] = c;
- }
- fW = open("scriere",O_WRONLY);
- write(fW,result,strlen(result));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement