Hmm .. das mit dem schreiben oder lesen habe ich aber hier und da gelsen, dass man das da wohl lieber so machen soll, einfach um auch sicher zu sein. Das soll dann wohl so wirklich "Bulletproof" sein, falls man dann doch noch einmal oder mehrere Male schreiben oder lesen muss.
Die Fehlermeldung bekomme ich in der Zeile hier:
Code: Alles auswählen
int bytes_written = write(sockfd, ptr, bytes_to_write);
ich arbeite nur auf UNIX und um genau zu sein auf OpenSuse und ab an auch mal auf Ubuntu oder Fedora. Hauptsächlich aber auf OpenSuse. Öffnen tue ich die Datei ja auch noch, wie ich das weiter oben schon geschrieben habe.:
Code: Alles auswählen
int resource = open(path, O_RDONLY);
Code: Alles auswählen
char file_size[7];
struct stat st;
memset(&st, 0, sizeof(st));
if(stat(path, &st) < 0) {
return 0;
}
snprintf(file_size, sizeof(file_size), "%zd", st.st_size);