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

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

Войти
Регистрация
Восстановить пароль
 
zener
22 / 9 / 1
Регистрация: 16.10.2010
Сообщений: 115
#1

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

19.01.2013, 23:01. Просмотров 272. Ответов 0
Метки нет (Все метки)

Здравствуйте.
Возникла проблемка с чтением данных из файла.
Собственно, в файл я записываю данные структуры, а вот при чтении читается не совсем то, что я записал((
Код записи в файл:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void List ::SaveFile()
{
    FILE *fw;
    fw=fopen("file1.dat","w+b");
    if (pHead==NULL)
    {
        cout<<"File is empty\n";
    }
    for (int i=0;i<ncount;i++)
    {
        fprintf(fw,"%d,",pHead->n_isbn);
        fprintf(fw,"%s,",pHead->title);
        fprintf(fw,"%s,",pHead->description);
        fprintf(fw,"%.2f,",pHead->n_price);
        pHead=pHead->pnext;
    }
    fclose(fw);
}
Код чтения из файла:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
void List::OpenFile()
{
    FILE *fr;
    Book *p;
    p=new Book();
    fr=fopen("file1.dat","r+b");
    fseek(fr,1,SEEK_END);
    int k=ftell(fr);
    fseek(fr,1,SEEK_SET);
    while(fgetc(fr)!=EOF)
    {
        fscanf(fr,"%d,",p->n_isbn);
        k=k-1;
        char* arr=new char [40];
        fscanf(fr,"%s,",arr);
        delete []p->title;
        p->title=arr;
        k=k-strlen(arr);
        char* arr2=new char [40];
        fscanf(fr,"%s,",arr2);
        delete []p->description;
        p->description=arr2;
        k=k-strlen(arr2);
        fscanf(fr,"%.2f,",p->n_price);
        addToList(p->n_isbn,p->title,p->description,p->n_price);    
        k=k-3;
    }
}
В чтении какая-то ошибка.. Видимо неправильно определяю конец файла? В данные структуры передаются не те значения((
К примеру, в файле запись "4,awg,greh,5.40,5,hawh,rjsrj,6.40," , а на экран при печати будет вот такой набор данных: (последние две строчки)
0
Миниатюры
Чтение данных из файла  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2013, 23:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение данных из файла (C++):

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

Чтение из файла определённого места и сортировка данных исходя из этих данных - C++
Есть некий текстовый документ, содержащий информацию о посещении сайта в формате: Например 12.5.76.200 04:23 Mon Цель:...

Чтение данных из файла - C++
Здравствуйте, в программе нужно прочитать данные из файла и записать результат в ассоциативный массив всё работает, только не понятно...

Чтение данных из файла - C++
Очень нужна помощь: никак не получается написать функцию чтения из файла на С++ Есть на С, но хочу на С++, все никак не выходит Вот...

Чтение данных из файла - C++
Вот программа запись и чтение из файла. Сначала записываем данные о студенте(фамилия, год рождения, пол), а потом нужно считать из файла...

Чтение данных из файла - C++
в общем у меня есть файл. в нем с начала идет строка указывающая путь к некому файлу. потом разношерстные циферки, каким образом мне...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2013, 23:01
Привет! Вот еще темы с ответами:

Чтение данных из файла - C++
Народ помогите что здесь неправильно,надо прочитать текст из файла и вывести на экран буквы,встречающиеся в тексте по одному разу в...

Чтение данных из файла - C++
Вот задание прочитать данные из файла и вывести их также как они в файле распалагаются на экран используя символьный массив...

Чтение данных из файла - C++
здравствуйте. суть проблемы: у меня есть некий файл, в котором записаны в 2 столбика данные,данные пазделены табуляцией. В программе...

Чтение данных из файла - C++
У меня такая проблема, мне дан бинарный файл, где записаны числа типа float. Мне необходимо их оттуда прочитать. Но никак не получается((...


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

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

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