28. december 2008 - 14:18
Der er
6 kommentarer
Løb gennem en fil x antal tegn ad gangen
Hej, Jeg sidder med en problemstilling, som er nok nemmest at forklare med et eksempel. Jeg har en fil, der indeholder følgende aabbccddeeffgg og jeg vil have følgende som output: aa ab bb bc cc cd dd de .. .. Jeg har forsøgt med følgende: .. while (($n = read(F_IN, $data, 2, $offset)) != 0) { print "$data\n"; $offset += 1; } .. Men outputtet ser helt forkert ud: aa abb abcc abcdd abcdee abcdeff abcdefgh abcdefghi abcdefghij abcdefghijk abcdefghijk Er der nogen, der kan hjælp? Pft.
Annonceindlæg fra Trustworks
Tillid i en Zero-Trust verden
Med voksende trusler, nye EU-krav og øget kompleksitet er cybersikkerhed nu en central ledelsesopgave på linje med strategi og økonomi.
28. december 2008 - 14:37
#3
Ok, det fik jeg ikke læst. Vi kan jo løse det ved at gemme tegnet i en variabel i Perl, men ellers kan du spole een tilbage på filen. Fx: $offset=0; while (($n = read(F_IN, $data,2)) != 0) { print "$data\n"; $offset++; seek(F_IN,$offset,0); }
28. december 2008 - 14:42
#4
Hvis vi antager, at programmet skal gennemløbe en fil med 6 milliard tegn, vil det ikke være tungt, at spoole hele tiden tilbage? I mit eksempel, er det som om $data ikke tømmes mellem iterationer.