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