Im Lesen ein Problem mit der read() Funktion in C unter Verwendung vonRead() wird Junk-Daten lesen, bevor tatsächliche Daten
Ich habe eine Datei läßt DateiX sagen, welche den Inhalt hat:
Data to be outputted
Allerdings, wenn ich die Datei und Verwendung lesen sie es öffnen erhalte ich Müll Daten den Code unten
ssize_t reader = 0;
ssize_t writer = 0;
char buffer[256];
reader = read(myFile, buffer, 256);
//check if reader is -1, if so then exit(1)
writer = write(1, buffer, 256);
//check if writer is -1, if so then exit(1)
die Lesefunktion scheint mit zweimal zu laufen. Einmal mit einem Haufen Mülldaten gefolgt von den eigentlichen Daten in der Datei. Irgendeine Idee, wie man das behebt?
sollten Sie nur schreiben, was Sie lesen. Wechseln Sie zu 'writer = write (1, buffer, reader);' – zzn
Ihr Code-Fragment ist kein MCVE ([MCVE]) und konnte Ihr beanspruchtes Verhalten nicht bereitstellen. Bitte stellen Sie eine funktionierende MCVE zur Verfügung, die Ihre Behauptungen wiedergibt. (Was Sie haben, würde alle Arten von Müll nach den Daten in der Datei produzieren - und wenn der Müll enthalten Wagen zurückgibt, könnte es teilweise die echten Daten abdecken.) –
Warum POSIX lesen, schreiben? Warum nicht Standard-C fread und fwrite? –