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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как скопировать файл в память? 
:(
    Опции темы
vinter
Дата 18.9.2008, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

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



tenebris, зачем мешать С и С++?
вот С++.
Код

#include <iostream.h>
#include <algorithm>

int main()
{

    ifstream in("c:\\1.gen");
    //cout << in.rdbuf();// вывести весь файл
    vector<char> vec;
    copy( istream_iterator<char>(in), stream_iterator<char>(), back_inserter(vec) );
    copy( vec.begin(), vec.end(), ostream_iterator<char>(cout, "\n") );
    return 0;
}





--------------------
Мой блог
PM MAIL WWW   Вверх
tenebris
Дата 18.9.2008, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Да нет, не нулевое, показывает правильный размер в байтиках

Добавлено через 5 минут и 35 секунд
Цитата

tenebris, зачем мешать С и С++?

А где я там включил с++
Да, таким способом выводится файл.
Не понимаю, что в моём исходнике не так, всё читает, кроме этого бинарника.

PM MAIL   Вверх
vinter
Дата 18.9.2008, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

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



Цитата(tenebris @  18.9.2008,  18:27 Найти цитируемый пост)
 cout << hex<<buf[i]; 




--------------------
Мой блог
PM MAIL WWW   Вверх
tenebris
Дата 18.9.2008, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Народ, попробуйте тот файл вывсети cout. Там где то непонятка
PM MAIL   Вверх
vinick
Дата 18.9.2008, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



tenebris, вот рабочий код
Код

#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
int main()
{
 clrscr();
 FILE *rom = fopen("c:\\1.gen","rb");
 long size;
 char *buf;   // <- исправлено здесь
 fseek(rom,0,SEEK_END);
 size=ftell(rom);
 fseek(rom,0,SEEK_SET);
 buf =(char*)malloc(size); // <- исправлено здесь
 fread(buf,1,size,rom); 
 for (int i=0; i<=20;i++)
 cout << hex<<buf[i]; 
 fclose(rom);
 free(buf);
 return 1;
}


размер int обычно не менее 2 байт. и в памяти эти байты лежат в обратном порядке -  сначала младшая часть, потом старшая.

PM MAIL ICQ Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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