Здравствуйте.
Задача состоит в работе с текстовым файлом среднего размера (2-10мб).
Так как работать надо быстро, доступ к файлу через диск отметается.
Слышал, что можно весь файл закачать в оперативу и уже там работать с ним как с массивом и это намного быстрее.
Подскажите пожалуйста, как это можно сделать.
>Слышал, что можно весь файл закачать в оперативу и уже там работать
>с ним как с массивом и это намного быстрее.Видимо, до Вас доходили слухи про mmap() - http://www.opennet.me/man.shtml?topic=mmap
А что мещает выделить память, скопировать туда содержимое файла, работать с ним в памяти, а после завершения работы скопировать содержимое памяти обратно в файл?
>А что мещает выделить память, скопировать туда содержимое файла, работать с ним
>в памяти, а после завершения работы скопировать содержимое памяти обратно в
>файл?Просто malloc()?
Не мог бы ты привести пример копирования.
>>А что мещает выделить память, скопировать туда содержимое файла, работать с ним
>>в памяти, а после завершения работы скопировать содержимое памяти обратно в
>>файл?
>
>Просто malloc()?
>Не мог бы ты привести пример копирования.man fread/fwrite
or
man mmap