000
16.08.2005, 23:56 Uhr
Skippy
|
so habe ein problem ich möchte gern eine datei blockweise lesen und per winsock versenden
so habe ich es bisher gemacht
C++: |
void Socket::SendFiles(const char *filename) { FILE *resource = NULL; char buf[24]; int sizeRead;
//printf ( "file_found Server will send: %s", filename );
resource = fopen(filename, "rb"); if (resource == NULL) { printf ( "not_found: %s", filename ); } else {
while(!feof(resource)) { fread(buf, sizeof(buf)-1, 1, resource); buf [24] = '\0'; if(feof(resource))continue;
send(s_, buf, strlen(buf), 0); } } fclose(resource); }
|
aber das funktioniert nicht ganz wenn fread nicht mehr nen kompletten "buf" hat hab ich lustigerweise nochmal das letzte ausgelsen stück der datei angehangen
es liegt daran das dort schon eof(ist auch genau an der stelle ) bekommt man das irgendwie hin? |