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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как считать файл по 1 байту 
V
    Опции темы
catherham
Дата 23.2.2011, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Нужно считать файл по 1 байту. Т.е сначала 1-й байт, потом 2-й и так до конца файла.
PM MAIL   Вверх
triclosan
Дата 23.2.2011, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



istream::get ?
PM MAIL   Вверх
alexvs11
Дата 23.2.2011, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


hell is here
**


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

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



Код

ifstream f( "c:/1.txt" );
if( !f ){
  return -1;
}
char c;
f.read( &c, 1 );
f.read( &c, 1 );
f.read( &c, 1 );
f.read( &c, 1 );
...


Добавлено через 2 минуты и 47 секунд
Код

ifstream f( "c:/1.txt" );
if( !f ){
  return -1;
}
char c;
f.read( &c, 1 );

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


Новичок



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

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



alexvs11,  А таким образом можно окрыть файл любого типа, а то мне нужно посчитать кол-во байт в файле, для txt работает, а для jpg или docx нет. Пишет неверное кол-во байт. Для хранения кол-ва байт использую тип unsigned int, docx файл весит 163 тыс. байт.

Это сообщение отредактировал(а) catherham - 23.2.2011, 23:45
PM MAIL   Вверх
alexvs11
Дата 23.2.2011, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


hell is here
**


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

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



ios_base::binary же
PM MAIL   Вверх
catherham
  Дата 23.2.2011, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



спасибо) открыл как бинарный)) всё круто считает)

Это сообщение отредактировал(а) catherham - 23.2.2011, 23:53
PM MAIL   Вверх
Nat
Дата 24.2.2011, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Если нужно просто узнать размер файла, то можно использовать структуру stat.
Код

#include <sys\stat.h>

              struct stat     statbuf;
    int           file_size;
    fstream in( FName, ios_base::in | ios_base::binary );
    if( !in.good() )
    {
        throw runtime_error( "Can't open data file." );
        return file_size = -1;
    }
    stat( FName, &statbuf );
    file_size = statbuf.st_size;
    in.read( send_buf , file_size );
    in.close();


PM MAIL   Вверх
alexvs11
Дата 24.2.2011, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


hell is here
**


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

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



Nat, ну есть стандартный способ узнать через 
Код

  f.seekg (0, ios::end);
  length = f.tellg();
  f.seekg (0, ios::beg);


PM MAIL   Вверх
catherham
Дата 24.2.2011, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Мне нужно было посчитать кол-во повторений каждого байта и число всех байтов. Уже сделал.

Это сообщение отредактировал(а) catherham - 24.2.2011, 13:10
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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