On Thu, 6 Jan 2000, Ales Smodis wrote:
> Sicer pa predlagam strategijo:
> 1) L=strlen("user="), rezerviraj buffer velikosti N+L-1, kjer je N neka
> arbitrarna vrednost, napolni ga z niclami (\0)
> 2) preberi N bajtov datoteke v buffer na odmiku L-1 (L-ti bajt), npr.
> fread()
> 3) if(!strstr(buffer, "user=") && !feof(datoteka)) {
> premakni L-1 zadnjih bajtov v bufferju na zacetek
> goto 2}
> 4) ce je strstr() v prejsnji tocki vrnil NULL in si se znasel tu,
> iskanega podniza v datoteki ni, sicer je na odmiku, ki ti ga poda
> strstr().
Moram reci, da mi je ta strategija zelo vsec. Samo delala v splosnem
vseeno ne bo, ker bo vsaka nicla (\0) v bufferju pomenila konec iskanja v
nadaljevanju bufferja. Recimo na ze prvem koraku bo prvi znak v bufferju
\0. Namesto funkcije 'strstr' bo verjetno bolj ustrezna uporaba funkcije
'memmem'. Je pa tam potrebna dodatna previdnost ob koncu datoteke, ko so
na koncu bufferja morda kaksne smeti.
No, ja. Pocasi bomo zgleda to spravili do nekaj delujocega. :)
Ales
--
Ales Casar | InterNet: [EMAIL PROTECTED], [EMAIL PROTECTED],
Faculty of EE & CS | [EMAIL PROTECTED]
University of Maribor | DECnet: RCUM::ALES
SLOVENIA | WWW: http://www.el.feri.uni-mb.si/~ales/