|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.05.2016, 15:55 | #1 |
Пользователь
Регистрация: 20.09.2014
Сообщений: 13
|
Предача файла. Разделяемая память. Заполнение при считывании
Не могу решить проблему:
Если файл кратен размеру передаваемому через разделяемую память, то проблем нет. Иначе в полученный файл записываются лишние байты, как это решить? То есть разделяемая память заполнена сервером не полностью, а записывается клиентом уже полный блок памяти, включая мусор. Насколько мне известно эта проблема называется Padding, но я ничего не нашел стоящего в интернете на эту тему. Вот циклы, записи: Код:
Код:
Последний раз редактировалось dimoni414; 18.05.2016 в 16:10. |
18.05.2016, 16:17 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
В начало буфера вписывайте размер блока - тогда получатель будет знать сколько писать.
А если размер файла у вас есть, то просто подсчитывайте сколько байт записано и обрезайте лишнее. |
18.05.2016, 18:48 | #3 |
Пользователь
Регистрация: 20.09.2014
Сообщений: 13
|
Большое спасибо. Проблема решена.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка при считывании из файла | JustSay | Общие вопросы Delphi | 3 | 29.07.2013 13:28 |
2 проги на С++, потоки и разделяемая память. | Salec | Фриланс | 1 | 12.06.2013 18:28 |
Разделяемая память в unix на C | Cannibal | Помощь студентам | 0 | 07.06.2013 08:28 |
Разделяемая память | Spb | Общие вопросы C/C++ | 0 | 25.12.2011 14:49 |
Проблема при считывании из файла | JeyKip | Общие вопросы C/C++ | 0 | 17.01.2010 22:03 |