первое, что надо знать в любом случае - кодировку файла и как с ней работает тот язык, на котором ты пишешь программу. Дело в том, что есть мультибайтовые кодировки, т. е. когда один символ записан несколькими байтами информации и, если ты применишь функции, работающие с однобайтовой кодировкой, то получишь фигню. То же самое касается и пути через размер файла: если файл в однобайтовой кодировке, то его размер соответствует количеству символов. Если весь файл в кодировке с одинаковой размерностью, то размер файла надо делить на размерность кодировки. Ну и самая задница, если в файле мешанина.. . тут только опознавать каждый символ...