Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<fcntl.h>
- #include<stdio.h>
- #include<stdlib.h>
- #include <unistd.h>
- #include <sys/types.h>
- #include <sys/wait.h>
- #include<string.h>
- int* crea_file(char* filename);
- void scrivi_messaggio_su_file(int fd);
- void leggi_messaggio_da_file();
- int main(int argc, char* argv[]){
- char filename[] = "ESEMPIO";
- int fd, pid, rc;
- fd = *(crea_file(filename));
- if (fork()==0){
- rc = open(filename,O_RDWR);
- if (rc<0) fprintf(stderr,"error: opening file");
- scrivi_messaggio_su_file(fd);
- } else {
- rc = wait(NULL);
- if (rc<0) fprintf(stderr,"error: wait");
- leggi_messaggio_da_file();
- }
- rc = close(fd);
- if (rc<0) fprintf(stderr,"error: closing file");
- exit(0);
- }
- /**
- * Crea un nuovo file vuoto
- *
- * @param filename nome del file da creare
- * @return il file descrittore del file appena creato;
- */
- int *crea_file(char *filename){
- int *fd = (int *) malloc(sizeof(int));
- *fd = creat(filename, 0666);
- return fd;
- }
- /**
- * Leggi un messaggio da tastiera e scrivi su file in input
- * @param fd: file descrittore riferito al file su cui scrivere
- */
- void scrivi_messaggio_su_file(int fd){
- int rc;
- fprintf(stdout,"Insert a message: ");
- char *message;
- scanf("%m[^\n]", &message);
- rc = write(fd,message, strlen(message));
- if (rc<0) fprintf(stderr,"error: writing on file");
- }
- /**
- * Leggi un messaggio da file appena scritto
- */
- void leggi_messaggio_da_file(){
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement