[Tech] Problemi con il C
Valerio Montagnani
tech@vmontagnani.it
Mer 5 Maggio 2004 09:28:48 CEST
Ciao amici, potreste aiutarmi a capire perchè ottengo un errore di "segmentation fault" quando provo a trasferire il contenuto di un buffer in un file? Grazie.
Il funzionamento logico è il seguente:
la funzione ModalitaTest() esegue le operazioni di allocazione dinamica del buffer e lo riempie opportunamente.
Quindi chiama la funzione SalvaBuffer(buffer,32000) che contiene il codice sotto riportato
Questo è il codice:
==========================================
dichiarazione delle funzioni:
ModalitaTest()
SalvaBuffer(unsigned char *data, int size)
dichiarazione delle variabili:
#define PERMS 0666
unsigned char *buffer;
int fd_file, file_name;
buffer viene allocato con una calloc;
=========================================
questa parte è contenuta in SalvaBuffer():
if ((fd_file=creat(file_name,PERMS))==-1)
{controllo_errori(205);}
if (write(fd_file,buffer,size)==-1)
{controllo_errori(206);}
close(fd_file);
Ciao, Vale
--
Valerio Montagnani (Lug-Account) <tech@vmontagnani.it>
pub 1024/C7E4BC57 sub 2048g/0E170155
Key fingerprint = D5A4 EDFC 060C 5BD6 E2DD 8252 3B67 C1EB C7E4 BC57
Maggiori informazioni sulla lista
flug-tech