LINUX.ORG.RU

История изменений

Исправление hateyoufeel, (текущая версия) :

Там есть hGet, который берёт размер на чтение. Если ты хочешь руками всё сделать, то используй эту функцию.

А вообще, для того, что ты делаешь, обычно используют либо Pipes, либо Conduit. Это две библиотеки с примерно одинаковым функционалом для организации поточной обработки данных.

Проблема два: ты зачем-то генерируешь список Int64, после чего каждый элемент конвертируешь в байты и делаешь xor с байтами данных по одному за раз. Так не делается. Тебе надо блоками это делать всё, так что лучше посмотри в сторону пакета vector.

Исправление hateyoufeel, :

Там есть hGet, который берёт размер на чтение. Если ты хочешь руками всё сделать, то используй эту функцию.

А вообще, для того, что ты делаешь, обычно используют либо Pipes, либо Conduit. Это две библиотеки с примерно одинаковым функционалом для организации поточной обработки данных.

Проблема два: ты зачем-то генерируешь список Int64, после чего каждый элемент урезаешь до байта и делаешь xor с байтами данных по одному за раз. Так не делается. Тебе надо блоками это делать всё, так что лучше посмотри в сторону пакета vector.

Исправление hateyoufeel, :

Там есть hGet, который берёт размер на чтение. Если ты хочешь руками всё сделать, то используй эту функцию.

А вообще, для того, что ты делаешь, обычно используют либо Pipes, либо Conduit. Это две библиотеки с примерно одинаковым функционалом для организации поточной обработки данных.

Проблема два: ты зачем-то генерируешь список Int64, после чего каждый элемент урезаешь до байта и делаешь xor с байтами данных по одному за раз. Так не делается. Тебе надо блоками это делать всё.

Исходная версия hateyoufeel, :

Там есть hGet, который берёт размер на чтение. Если ты хочешь руками всё сделать, то используй эту функцию.

А вообще, для того, что ты делаешь, обычно используют либо Pipes, либо Conduit. Это две библиотеки с примерно одинаковым функционалом для организации поточной обработки данных.