Всем привет. Возникла проблема при чтении бинарных данных( *.wav файл ) из stdin. При чтении массива данных размером 65536(запись производится ровно такого размера), корректно читается только 4412 байт, после чтение прерывается так как приходит символ eof. Следовательно отсюда вопрос: каким образом это можно обойти ?
Cборка идёт под ОС WIN 10 x64 компилятор: msvc13
Привожу краткий код чтения и записи:
std::array<char, SoundVector::Buffer::size> buf
std::vector<char> input;
std::memset(buf.data(), 0x00, buf.size());
std::ifstream is(stdin);
is.setf(std::ifstream::binary | std::ifstream::in);
size_t ssize = is.read(buf.data(),buf.size()).gcount();
Запись:
std::ofstream of(stdout);
of.setf(std::ofstream::binary | std::ofstream::out);
std::array<char, SoundVector::Buffer::size> buf;
std::memset(buf.data(), 0x0, buf.size());
std::memcpy(buf.data() + offset, vectorSound.data(), sizeData);
of.write(buf.data(), buf.size());
vectorSound представляет из себя std::vector<short> c данными
P.S. Если записывать буффер, всебайты которого заполнены 0xff, то всё проходит хорошо.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Привет!Я учу nodejs и попутно создаю свой API сервер с MongoAtlas
Господа, добрый день! Нужна помощь в настройке роутинга на втором ангуляреВидимо я его неправильно понимаю, потому как он работает несколько...
Почему к примеру если указать "17:00","19:00" выведет правильно 7200000ms - то есть до oldtime 2ч
Насколько мне известно, hover на айфонах просто так не работаетНо тут меня постиг сюрприз