Вопрос № 51755: Здравствуйте.
Мне необходимо изменить ID2v2 тэг mp3 файла, но для этого необходимо произветси изменения в начале файла с сохранением всей отсальной информации. Как, не прибегая к созданию нового файла, дописать что-либо в начало файла, сдвинув вс...
Вопрос № 51.755
Здравствуйте.
Мне необходимо изменить ID2v2 тэг mp3 файла, но для этого необходимо произветси изменения в начале файла с сохранением всей отсальной информации. Как, не прибегая к созданию нового файла, дописать что-либо в начало файла, сдвинув всю осталбую информацию вперед? Создание нового файла процесс относительно долгий, да и переписать в него информацию из старого файла требует много времени. У Winamp'а изменение тэга получается очень быстро, но в интернете решение проблемы описывают только лишь созданием нового файла.
Подскажите как быть?
Спасибо.
Отправлен: 10.08.2006, 16:21
Вопрос задал: Vanesss (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Rusfaq mustdie
Здравствуйте, Vanesss!
Попробуй через mapped files. В unix'е это делается проще паренной репы. Открывается файл, устанавливается новый конец файла, перемещаются данные и дописывается что-то куда-то.
Так как масдай половину функциональность спер у unix то и у него должно быть такое.
--------- Rusfaq mustdie
Ответ отправил: Rusfaq mustdie (статус: Студент)
Ответ отправлен: 10.08.2006, 16:37
Отвечает: Physicist
Здравствуйте, Vanesss!
Думаю, единственный способ - считать файл в память, произвести все изменения в памяти и записать результат поверх старого файла. Mapped files - по сути, то же самое (работа с файлом как с областью памяти). А такой операции, как "вставка" данных в файл со сдвигом старых данных ни в одной операционной системе не предусмотрено.
Ответ отправил: Physicist (статус: Студент)
Ответ отправлен: 10.08.2006, 16:59