потенциальная опасность слияния двух файлов неизвестного размера? - PullRequest
0 голосов
/ 10 августа 2010

У меня есть двоичный файл, в который мне нужно вставить заголовок в начале.Я думал об открытии нового файла, записи данных заголовка, а затем скопировать данные из двоичного файла в этот новый файл.Поскольку размер двоичного файла составляет около 1 мегабайта, есть ли опасность сделать этот файл с помощью fwrite?Одной из конкретных проблем может быть что-то вроде непреднамеренной перезаписи данных, аналогично тому, что происходит, если используется метод get, а входные данные длиннее буфера.

1 Ответ

1 голос
/ 10 августа 2010

Нет риска.Выделите буфер заданного размера, прочитайте в него столько байтов из исходного файла, запишите буфер обратно в файл назначения.Все операции (чтение файла / запись в файл) занимают максимальное количество байтов, поэтому, если размер буфера соответствует требуемому размеру, он не будет переполнен.практически единственный способ сделать это.Я никогда не слышал о файловой системе, в которой есть операция «вставить эти байты в начале этого файла».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...