Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема при работе с файлами! Преобразование файла вмассив. 
:(
    Опции темы
proman
Дата 26.4.2006, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 12.4.2006

Репутация: нет
Всего: нет



Привет всем! 
Я пишу прграмму для передачи почты и мне нужно передавать файлы  скажите как фаил преобразовать в массив (лучше исходник).
Спасибо! 
PM MAIL   Вверх
DeadSoul
Дата 26.4.2006, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: нет
Всего: 11



std::fstream::read

NOTE: istream_iterator  не поможет, т.к. режет пробелы 


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
proman
Дата 27.4.2006, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 12.4.2006

Репутация: нет
Всего: нет



DeadSoul
Спасибо за ответ а можно поподробней на маленьком примере 
PM MAIL   Вверх
MAKCim
Дата 28.4.2006, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



записывать по 1 байту в массив из файла
на С
Код

#include <stdio.h>

void write_to_buffer(char* buffer, const char* path)
{
    FILE* fs=fopen(path,"r");
    if (!fs) return;
    unsigned int bytes, i=0;
    do
    {
        bytes=fread(&buffer[i],sizeof(char),1,fs);
        i++;
    }
    while (bytes);
    close(fs);
}
  

Это сообщение отредактировал(а) MAKCim - 28.4.2006, 19:48


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
DeadSoul
Дата 28.4.2006, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: нет
Всего: 11



MAKCim, за такой код нужно руки отрывать.
1. Читать по одному байту крайне не эффективно
2. Сколько байт ты намерен считать в буффер? При большом файле программа рухнет! 


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
DeadSoul
Дата 28.4.2006, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: нет
Всего: 11



Код

std::fstream fin( "C:/data.bin", std::ios_base::in|std::ios_base::binary );
std::fstream::pos_type beginPos=fin_.tellg();
fin.seekg(0,std::ios::end);
std::fstream::pos_type endPos=fin_.tellg();
fin.seekg(0);
int fileSize    =    endPos-beginPos;

std::vector<char> outData;
outData.resize( fileSize );
fin.read( &*outData.begin(), fileSize );
 


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0695 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.