|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.07.2015, 15:18 | #1 |
Форумчанин
Регистрация: 01.06.2015
Сообщений: 497
|
C/C++ вырезать часть данных с файла
Здравствуйте.
Есть ли в C/C++ функции, которые помогут вырезать часть данных с файла? Да и вообще, как это корректно делать методами C и методами C++? Заранее благодарен.
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
Последний раз редактировалось Krasiosoft; 25.07.2015 в 15:29. |
25.07.2015, 15:40 | #2 |
С++, Delphi
Форумчанин
Регистрация: 24.11.2012
Сообщений: 495
|
В С++, нет возможности вырезать содержимое, связи с этим, создаётся новый временный файл, что Вы наверняка видели миллион раз, когда это делают другие проги... например хром при скачивании. Если Вам нужно постоянно вырезать, то лучше обрабатывайте память, диск и без того очень медленный компонент
Если помог, тут весы есть , Вам не сложно, а мне приятно.
|
25.07.2015, 15:47 | #3 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Зарезервировать в памяти массивчик. Считать до вырезаемого, перескочить на конец вырезаемого Считать остальное. Переписать файл.
I'm learning to live...
|
|
25.07.2015, 16:12 | #4 |
Форумчанин
Регистрация: 01.06.2015
Сообщений: 497
|
Я пока тоже вижу 2 варианта:
1) Создаем временный файл, в него переписываем все содержимое кроме того, что нужно вырезать, удаляем файл и переименовываем временный. 2) Смещаем данные внутри файла, затирая данные, которые нужно вырезать и после этого уменьшаем размер файла на размер вырезаемых данных. Но как будет правильнее делать? И я пока не могу найти как в с/с++ уменьшить размер файла.
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
|
25.07.2015, 16:19 | #5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
25.07.2015, 16:27 | #6 | |
С++, Delphi
Форумчанин
Регистрация: 24.11.2012
Сообщений: 495
|
Цитата:
Узнать размер функции fseek, ftell, последней получите позицию ввиде числа.
Если помог, тут весы есть , Вам не сложно, а мне приятно.
|
|
25.07.2015, 16:46 | #7 |
Форумчанин
Регистрация: 01.06.2015
Сообщений: 497
|
Там ничего сложного нету, чтоб переместить данные с одного места файла в другое. Я вот другое не могу найти, как методами с/с++ уменьшить размер самого файла после сдвига.
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
|
25.07.2015, 16:50 | #8 | |
С++, Delphi
Форумчанин
Регистрация: 24.11.2012
Сообщений: 495
|
Цитата:
Так что, метод предложенный модератором, Вам подойдёт
Если помог, тут весы есть , Вам не сложно, а мне приятно.
|
|
25.07.2015, 22:31 | #9 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
|
25.07.2015, 22:50 | #10 |
Форумчанин
Регистрация: 01.06.2015
Сообщений: 497
|
Видел эту функцию, но она вроде есть только под MinGW.
Visual Studio не видит unistd.h. Нужна стандартная функция C/C++, которая будет в любом компиляторе.
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
вырезать часть строки | влад1991 | Общие вопросы Delphi | 8 | 14.04.2013 00:34 |
Flash Вырезать часть изображения | demon112 | Общие вопросы Web | 1 | 09.04.2013 15:54 |
Как вырезать часть изображения | ZelenuiBeret | Visual C++ | 0 | 27.01.2013 23:52 |
Вырезать часть строки | montreyka | Общие вопросы Delphi | 4 | 26.03.2012 22:40 |
Вырезать часть строки. | sergeyrulit | Общие вопросы Delphi | 2 | 22.10.2010 22:25 |