Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.83
Molotoff
1 / 1 / 0
Регистрация: 21.07.2009
Сообщений: 50
#1

Чтение из файла - C++

15.09.2009, 10:44. Просмотров 3258. Ответов 23
Метки нет (Все метки)

Доброго всем дня!
Опишу свою проблему - есть файл с библиотекой данных (размером аж 142 082 049 байт), в одном байте которой хранится 2 значения от 0 до 9 в определенном порядке (ну это не суть важно). Надо эту библиотеку считать из файла в память, чтобы каждое значение было помещено в массив unsigned short int(потому как значения не превышают 9-ти).
Делаю я это следующим образом:
C++
1
2
3
4
5
6
cout<<"1. Чтение библиотеки функций от 5-ти переменных"<<endl;
ifstream fin1("5v_lib2",ios_base::binary);
unsigned fs1=142082049;
char *lib_main=new char[fs1];
fin1.read(lib_main,fs1);
fin1.close();
т.е. считываю весь файл в массив char, т.е. в одном байте не может быть значений больше двух девяток, что в десятичной системе значит 153, но проверка

C++
1
2
3
4
for (int i=0; i<142082049; i++) {if((unsigned short int) lib_main[i]>160){
    cout << (unsigned short int)lib_main[i] << " " <<  i << endl;
    break;}
}
вылетает на 1258987-итерации со значением 65415, хотя вообще не должна, саму библиотеку смотрел HEX-Редактором - все нормально, больших чисел нет, да и быть не может.
Даже не могу сообразить в какую сторону копать...подскажите, плиз.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2009, 10:44
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Чтение из файла (C++):

Переделать в коде чтение из файла в чтение с клавиатуры
Переделайте что бы текст считывался с клавиатуры, а не с файла! Буду благодарен...

Чтение из файла. Повторное чтение файла
Добрый день. Необходимо реализовать в программе функцию повторного чтения...

Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла.
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;locale.h&gt; #include&lt;iomanip&gt;...

Чтение нескольких структур и одной переменной из бинарного файла. Формат файла имеется
Формат файла состоит из 3 структур и одной переменной. Подробное описание...

как может корректно выполняющийся оператор >> (чтение из текстового файла) негативно влиять на открытие другого файла?
Друзья! Создадим два текстовых файла, f_0.txt и f_1.txt и что-нибудь в них...

Чтение файла с несколькими знаками конца файла
В файле несколько раз встречается ноль, и ни как не получается прочитать его...

23
M128K145
Эксперт JavaЭксперт С++
8320 / 3540 / 419
Регистрация: 03.07.2009
Сообщений: 10,708
15.09.2009, 20:32 #21
АНК, могу согласится, что да, ты записал в файл текст, извини, не учел приведение типов. Но вот повтори это же самое для потока чисто класса ifstream, без приведения к ofstream
0
АНК
124 / 115 / 17
Регистрация: 27.02.2007
Сообщений: 291
15.09.2009, 20:54 #22
Цитата Сообщение от M128K145 Посмотреть сообщение
для потока чисто класса ifstream, без приведения к ofstream
А не получится ничего. В классе ifstream нет метода write(...). Как и в классе ofstream нет метода read(...).
0
M128K145
Эксперт JavaЭксперт С++
8320 / 3540 / 419
Регистрация: 03.07.2009
Сообщений: 10,708
15.09.2009, 21:02 #23
АНК, то-то же. Вот о чем я тебе и пытался тогда сказать! Невозможно ифстримом записать(как и остримом считать) что-либо в файл. В чем ты собственно и убедился на практике
0
kravam
быдлокодер
1706 / 893 / 105
Регистрация: 04.06.2008
Сообщений: 5,524
28.02.2013, 22:10 #24
То же что и здесь попроще только:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <fstream>
using namespace std;
 
 
int main () {
    ifstream *filestr = new ifstream("asd.txt", ios_base::out|ios_base::binary);
    char bf_[11] = "kkkkkkkkkk";
    ((ofstream*)filestr)->write(bf_, 10);
    filestr->close();
    delete filestr;
    getchar ();
    return 0;
}
...а вообще это только фокусы показывать разве что.
0
28.02.2013, 22:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2013, 22:10
Привет! Вот еще темы с решениями:

Чтение текстового файла специфического файла
Добрый день! Есть один текстовый файл определенного формата. Заголовок по...

чтение из файла
Входной файл имеет такой вид 13 aaabaaabcckks 5 aabcc Как его прочитать,...

Чтение из Файла
Подскажите плиз как читать из файла на примере. метод записи в файл ...

Чтение из файла
Вывод из файла делаю с помощью следующего кода: AnsiString pol; . . . f...


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Опции темы

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