Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Vozyka Yaroslav
4 / 4 / 0
Регистрация: 18.07.2013
Сообщений: 45
#1

fread или как отправить файл по сети - C++

28.10.2013, 01:08. Просмотров 870. Ответов 25
Метки нет (Все метки)

Доброго времени суток. Есть задача: отправить .jpg файл по http. Как я понял мне надо сделать массив char заполнить его содержимым файла и собственно отправить. Использую для этого функцию fread(). Проблема: функция fread() копирует все символы до первого "\0" (увидел это в дебаге), и копируются только первые 6 байт. Через блокнот удалил этот символ из файла, и стало копироваться как надо, но это не устраивает. Прочитал что "\0" влияет только на printf, но в моем случае не только. Так же пробовал fscanf, fgets один и тот же результат. Заранее благодарю.
C++
1
2
3
4
5
6
7
8
9
10
11
FILE *pFile;
long lSize;
char *buffer;
pFile = fopen("C:\\Picture.jpg", "r");
fseek(pFile, 0, SEEK_END);
lSize = ftell(pFile);
fseek(pFile,0,SEEK_SET); //go to beg.
rewind(pFile);
buffer = (char *) malloc(sizeof(char) * lSize);
ZeroMemory(buffer, lSize+1);
fread(buffer,lSize,1,pFile);
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2013, 01:08     fread или как отправить файл по сети
Посмотрите здесь:
Fread неправильно считывает файл C++
C++ как работает fwrite() и fread() со структурой?
Как корректно работать с функцией fread? C++
C++ Как работают функции fwrite и fread
С помощью какого кода можно запустить как либо файл по локальной сети, и так-же на своём компе C++
Массив отсортировать по возрастании длины строки и отправить его в файл C++
Как проверить в с++ пуст файл или нет? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vozyka Yaroslav
4 / 4 / 0
Регистрация: 18.07.2013
Сообщений: 45
28.10.2013, 01:48  [ТС]     fread или как отправить файл по сети #16
Файл использую, который уже выложил, код написан в первом посте.

Добавлено через 28 секунд
Хотелось бы хотя бы буковки.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.10.2013, 01:50     fread или как отправить файл по сети #17
И покажите код ZeroMemory(). Как вы там и что чистите?

Добавлено через 34 секунды
Цитата Сообщение от Vozyka Yaroslav Посмотреть сообщение
Файл использую, который уже выложил
В каком посте?

Добавлено через 44 секунды
Цитата Сообщение от Vozyka Yaroslav Посмотреть сообщение
Хотелось бы хотя бы буковки.
А вы знаете, что не все значения в байтах можно представить в виде буковок?
Vozyka Yaroslav
4 / 4 / 0
Регистрация: 18.07.2013
Сообщений: 45
28.10.2013, 01:51  [ТС]     fread или как отправить файл по сети #18
Цитата Сообщение от Vozyka Yaroslav Посмотреть сообщение
Вот изображение для примера
Attached Thumbnails
Вот пост
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.10.2013, 01:51     fread или как отправить файл по сети #19
Цитата Сообщение от Vozyka Yaroslav Посмотреть сообщение
код написан в первом посте.
Код написан неправильно, там файл не в нужном режиме открывается.

Добавлено через 30 секунд
Цитата Сообщение от Vozyka Yaroslav Посмотреть сообщение
Вот пост
Номер у поста есть?
Vozyka Yaroslav
4 / 4 / 0
Регистрация: 18.07.2013
Сообщений: 45
28.10.2013, 01:52  [ТС]     fread или как отправить файл по сети #20
сделал sizeof(buffer)
в результате получил 4
Сейчас сделаю скриншот
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.10.2013, 01:52     fread или как отправить файл по сети #21
Цитата Сообщение от Vozyka Yaroslav Посмотреть сообщение
Вот пост
И где там файл?
Vozyka Yaroslav
4 / 4 / 0
Регистрация: 18.07.2013
Сообщений: 45
28.10.2013, 01:53  [ТС]     fread или как отправить файл по сети #22
5 пост картинка
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.10.2013, 01:53     fread или как отправить файл по сети #23
Цитата Сообщение от Vozyka Yaroslav Посмотреть сообщение
sizeof(buffer)
Это размер указателя, 4 байта.

Добавлено через 26 секунд
Vozyka Yaroslav, вы картинку от файла отличить можете?
Vozyka Yaroslav
4 / 4 / 0
Регистрация: 18.07.2013
Сообщений: 45
28.10.2013, 01:53  [ТС]     fread или как отправить файл по сети #24
Плоховато я форумом пользуюсь, это да.
Vozyka Yaroslav
4 / 4 / 0
Регистрация: 18.07.2013
Сообщений: 45
28.10.2013, 01:59  [ТС]     fread или как отправить файл по сети #25
Вот скриншот
Миниатюры
fread или как отправить файл по сети  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2013, 02:03     fread или как отправить файл по сети
Еще ссылки по теме:
C++ Как проверить пустой файл или нет?
C++ fread
Как проверить, есть файл в папке или нет? C++
Как запустить mdb - файл (Access) из программы С++ или VC++ C++
Как удалить файл или изменить его тип C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.10.2013, 02:03     fread или как отправить файл по сети #26
Продолжать не вижу смысла. От темы отписался.
Yandex
Объявления
28.10.2013, 02:03     fread или как отправить файл по сети
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru