Другие языки программирования и технологии

Как передать изображение? С++ WinSock2.h

Файлы или какую то техническую информацию о компьютере, я легко передавал, с одного компьютера на другой, но вот я подумал что я не знаю, как передать изображение. Пошарился, везде про это какая-то вода, а чистого полного кода (я уже не говорю про комментарии) нигде нет. Может кто-то умеет, или знает, как это реализовать? Объясните пожалуйста.
> передавать я текстовые файлы умею
> я его считываю символами и передаю массивами. А как считать изображение?

неправда, ты считываешь байтами, а не символами
например, файл в кодировке UTF-8 (или в любой другой многобайтовой кодировке) технически является текстовым, но один символ в нём необязательно соответствует одному байту
как я помню, в тех же плюсах нормальную поддержку utf-8 до сих пор не запилили, так что он тоже будет благополучно пихать один юникодовский символ в несколько разных ячейки строки, даже если строка из wchar-ов, и отдельные вызовы какого-нибудь istream.get() будут возвращать куски символов, сами по себе не имеющие смысла

далее: файл в си и плюсах можно открыть в текстовом режиме или в бинарном режиме
звучит страшно, но на практике единственное, чем эти режимы отличаются - это трактовка символов перевода строки: https://stackoverflow.com/questions/26966715/differences-between-writing-reading-binary-text-in-c

т. е. всё, что тебе нужно - это открыть файл в бинарном режиме, читать из него куски данных с помощью istream.read (хотя можно и побайтово с помощью istream.get, но это медленно) и точно так же "передавать массивами", что бы это ни значило

подозреваю, что единственное различие будет в бинарном режиме открытия файла, да и заметно это различие будет разве что на винде
MP
Mihai Pesterev
51 164
Лучший ответ
Артём Водопьянов Спасибо. Завтра попробую
а чем изображение записанное на диск не файл ?
Aibek Sakibekov
Aibek Sakibekov
22 439