ftell() vyleva buffer?
Jan Kasprzak
kas na fi.muni.cz
Pátek Červenec 31 02:41:23 CEST 2009
Zdravim,
mam dalsi problem se standardni knihovnou: mam vystupni FILE *,
do ktereho zapisuju jen pomoci fputc_unlocked(). Cas od casu potrebuju
zjistit kde vlastne jsem, tak volam ftell() na ten FILE *. No a problem
je, ze mi program zere strasne moc system time, a podle strace
dela write() vzdycky po par bajtech (odhaduju ze prave v okamziku,
kdy volam ftell()).
Proc potrebuje ftell() vylevat buffer (kdyz si pozici zrejme
pamatuje, protoze zadne lseek(..., 0, SEEK_CUR) ve vypisu strace neni,
jen spousty malych po sobe jdoucich malinkych write(). Zkousel jsem
setvbuf(..., _IOFBF, velky buffer), a nepomohlo to.
Pokud je to snad nutna vlastnost (man 3 ftell nic takoveho nerika),
jak toto udelat pri zachovani bufferovaneho zapisu? Mam si evidovat
pozici sam?
Diky,
-Yenya
--
| Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839 Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/ Journal: http://www.fi.muni.cz/~kas/blog/ |
Please don't top post and in particular don't attach entire digests to your
mail or we'll all soon be using bittorrent to read the list. --Alan Cox
Další informace o konferenci Linux