Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //ho tolto per il momento le le varie timeval etc. che tra l'altro non ho capito cosa ci fai
- void TrasferisciFile(int DescrittoreSocket) {
- int lung;
- int fd_sorg;
- char buff[4096];
- DIR *dir; // puntatore alla directory su cui lavorare
- char nomefile[80];
- int letti,scritti;
- memset((char *) &buff, 0, sizeof(buff));
- memset((char *) &nomefile, 0, sizeof(nomefile));
- printf("Inserire il nome del file da trasferire ");
- scanf("\n%s",nomefile);//ho aggiunto \n alla scanf perchè a volte il buffer risulta sporco e non scrive bene la stringa
- lung=strlen(nomefile);
- printf ("lung = %d\n",lung);
- nomefile[lung]='\0';
- printf ("Invio File %s\n",nomefile); //invio il nome del file da trasferire
- write(DescrittoreSocket, &nomefile, lung+1);
- if(getcwd(directory, sizeof(directory)) != NULL )
- {
- lendir=strlen(directory);
- directory[lendir]='\0';
- printf("directory locale %s \n",directory);
- } //fine if getcwd
- else
- {
- printf("Errore’: %s",directory);
- exit(1);
- }
- // apro la directory
- if ((dir = opendir(directory)) == NULL)
- {
- perror("Errore apertura directory!!!");
- exit(-2);
- }
- // scorre la directory appena apert
- printf("Nome File da trasferire %s \n",nomefile);
- // Apro il file per il trasferimento
- fd_sorg = open(nomefile, O_RDONLY);
- if (fd_sorg < 0)
- {
- perror("open file sorgente");
- }
- else
- {
- // trasferisco il file
- printf("trasferisco\n");
- while(1)
- {
- letti = read(fd_sorg, &buff, sizeof(buff));
- if(letti>0)
- {
- printf("%d valore letti \n",letti);
- printf("%s\n",buff);
- scritti=sand(DescrittoreSocket,&buff, sizeof(buff),0);
- }
- if(letti<=0)
- {
- break;
- }
- }
- }
- close(fd_sorg);
- closedir(dir);
- printf("Trasferimento terminato!\n);
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement