Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2011, 18:50   #1
Farrel
Форумчанин
 
Аватар для Farrel
 
Регистрация: 21.04.2010
Сообщений: 144
По умолчанию Удалить кусок файла.

Появилась необходимость удалить кусок из файла, причём пришлось использовать стандарстный fstream, т.к. большой кусок проги написан на вижле. Тут возникли 2 проблемы:QT походе не различает seekg и seekp, и fstream имеет в нём только один указатель для работы с файлами. По крайней мере при попытке сделать seekg и seekp в разные часли файла, после каждой из операций tellg и tellp возвращали одинаковые значения.
Сделал так:
Код:
void writer::del(minfo todel)
{
    long double startoffset;
    long double endoffset;
    char c;
    startoffset=todel.offset;                                              
    endoffset=startoffset+todel.i.filelen+todel.i.namelen+todel.i.worklen+1;      
    while(!archive.eof())                                                   
    {
        archive.seekp(endoffset);
        archive.read((char*)&c,1);
        archive.seekp(startoffset);
        archive.write((char*)&c,1);
        startoffset++;
        endoffset++;//
    }
}
нужный кусок файла удаляется, но размер файла остаётся прежним и соответственно конец файла забит мусором. Как этот "хвост" убрать?
Farrel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить запись из файла С++ Voxa7 Помощь студентам 2 29.04.2011 08:27
Удалить страницы из PDF-файла Kavaler2i Помощь студентам 8 20.01.2010 20:02
Удалить последнюю строку из файла Flame_of_Death Помощь студентам 6 21.07.2009 13:48
как удалить из файла символ? evgenrpo Общие вопросы C/C++ 2 04.06.2009 22:35
кусок кода считать не из тестового файла а из Tmemo Stanislav Общие вопросы Delphi 8 07.01.2008 22:12