|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Oct 2005
Città: Pisa
Messaggi: 1047
|
[C] problemi con creazione file
In un programma concorrente un thread deve creare un file in una directory creata dal thread padre(main).
Per creare il file utilizzo la fopen(), che ritorna regolarmente un FILE* non NULL, quindi l'apertura ha avuto esito positivo. Andando però a vedere effettivamente nella directory, non c'è nessun file e non capisco perchè, eppure il path che gli passo è giusto. Ho provato anche con la open() stessa identica cosa... vi incollo il pezzo di codice incriminato. { /*creo il file aprendolo in scrittura e richiudendolo subito*/ sprintf(path,"./%s/%s.dat",str->dir_name,agenda); temp=fopen(path, "w"); if(temp==NULL){ perror("Errore: thread dserver/fopen"); exit(EXIT_FAILURE); } fclose(temp); registraAgenda(agenda); /*registro l'agenda nell'array agende, nella prima posizione libera*/ i++; /*costruisco il msg di ok e lo invio al client*/ msgClient->type=MSG_OK; msgClient->length=0; if(sendMessage(str->ch,msgClient)==-1){ perror("Errore: thread dserver/sendMessage"); exit(EXIT_FAILURE); } } il programma scorre e non ritorna nessun errore, ma non capisco perchè non venga creato il file fisicamente. Cosa strana... se dalla sprintf levo il ".dat" lo crea. Pensare che invece ieri ha fatto il contrario, me lo creava solo se mettevo ".dat". Ci sto impazzendo.
__________________
Vendite concluse ottimamente con: Bastian UMTS, Tiscaliniano. --------------------------------------------------------- 1) Macbook Pro Core 2 Duo 2,16Ghz - 2GB di RAM - HD 160GB - Glossy Widescreen - 2°Gen 2) iPhone 3G - 8GB Black 3) Ipod Shuffle Blu 1GB 4) iMac 27" QuadCore i7 |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:02.