Усложнила алгоритм - и он стал работать чуточку медленее. Выясняю причины. Скажите, вот такая команда производит дисковые операции: offset = fseek(fd, 0, SEEK_CUR); По идее, возвращаться должен указатель текущего положения... есть ли дергание головок винта?