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

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

Восстановить пароль Регистрация
 
zener
22 / 9 / 1
Регистрация: 16.10.2010
Сообщений: 115
19.01.2013, 23:01     Чтение данных из файла #1
Здравствуйте.
Возникла проблемка с чтением данных из файла.
Собственно, в файл я записываю данные структуры, а вот при чтении читается не совсем то, что я записал((
Код записи в файл:
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," , а на экран при печати будет вот такой набор данных: (последние две строчки)
Миниатюры
Чтение данных из файла  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2013, 23:01     Чтение данных из файла
Посмотрите здесь:

Чтение данных из файла C++
C++ Чтение данных из файла
Чтение данных из файла C++
C++ чтение данных с файла.
чтение данных из файла C++
C++ чтение данных из файла
Чтение данных из файла C++
Чтение данных из файла С++ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 06:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru