opticus Skrevet 18. mars 2005 Del Skrevet 18. mars 2005 jeg sliter litt med fread. problemet er dette: har en #define DATA_SIZE 50 og en fread(&buf[2],1,DATA_SIZE,tmp_fil) den returerner at den har lest 50, men en fil som ser slik ut: 1 22 333 4444 55555 666666 7777777 88888888 999912345 utskrift av buf gir: 1 22 333 4444 55555 666666 7777777 88888888 99991 og her slutter den ved neste lesing begynner den på 3 som er riktig Lenke til kommentar
GeirGrusom Skrevet 18. mars 2005 Del Skrevet 18. mars 2005 Det kan være pga størrelsen på buf, er buf char[DATA_SIZE]? isåfall vil du vel miste 3 byte. Lenke til kommentar
kjetil7 Skrevet 18. mars 2005 Del Skrevet 18. mars 2005 &buf[2] ser mistenkelig ut, men er redd vi trenger litt mer informasjon hvis vi ikke bare skal synse og tippe hva som er feil. Men det er nok noe trøbbel med bufferet ditt. En to-minutters snutt: static const int DATA_SIZE = 50; int main() { char buffer[DATA_SIZE + 1]; size_t bytes_read = 0; FILE* f = fopen("example.txt", "r"); bytes_read = fread(buffer, 1, DATA_SIZE, f); buffer[bytes_read] = 0; printf("%s", buffer); fflush(stdout); system("pause >nul"); // trykk enter (kun windows...) bytes_read = fread(buffer, 1, DATA_SIZE, f); buffer[bytes_read] = 0; printf("%s\n", buffer); fflush(stdout); } Lenke til kommentar
opticus Skrevet 19. mars 2005 Forfatter Del Skrevet 19. mars 2005 det var størrelsesproblemer på buf ja... Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå