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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Компилятор шутит. Как его успокоить? http://www.cyberforum.ru/cpp-beginners/thread766625.html
Ниже приведён код, который по алгоритму Фано должен строить коды. В функции Fano компилятор сам по себе, там где это отмечено в коментарии изменят совершенно не то, что ему говорят. В чём может быть...
C++ Перегрузка функций Задание: Написать перегруженные функции и основную программу, которая их вызывает. а) для массива целых чисел находит количество нечетных элементов; б) для строки находит количество слов в... http://www.cyberforum.ru/cpp-beginners/thread766619.html
Поиск ключа в бинарном дереве поиска C++
Здравствуйте! Помогите ещё с задачками) 1.Поиск ключа в бинарном дереве поиска (точное соответствие). 2. Поиск ключа в бинарном дереве поиска (меньше или равно). 3. Поиск ключа в бинарном дереве...
C++ Параллельное программирование: нахождение интеграла
Нужно распараллелить метод средних прямоугольников. Долго не мучаясь, решил воспользоваться OpenMP, вот что получилось: // intagral_omp.cpp : Defines the entry point for the console...
C++ перевести число в масив символів двійкового коду http://www.cyberforum.ru/cpp-beginners/thread766568.html
Покажите пример пожалуйста как это сделать ? и как его словами можно описать? Добавлено через 35 минут И вот ответьте на вопрос пожалуйста. що повертає рядок з одного символу по інший с++?
C++ Можно ли обобщить оператор delete ? Здравствуйте! Есть некоторый класс в котором есть указатель которому присваивается некоторое значение "из-вне" так сказать, так вот его деструктор должен освобождать память на которую указывает этот... подробнее

Показать сообщение отдельно
zener
22 / 9 / 1
Регистрация: 16.10.2010
Сообщений: 115

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

19.01.2013, 23:01. Просмотров 277. Ответов 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
Миниатюры
Чтение данных из файла  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru