Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
22 / 9 / 2
Регистрация: 16.10.2010
Сообщений: 115

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

19.01.2013, 23:01. Показов 455. Ответов 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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.01.2013, 23:01
Ответы с готовыми решениями:

Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла.
#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...

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

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.01.2013, 23:01
Помогаю со студенческими работами здесь

Чтение данных из файла
Надумалось мне написать программу, позволяющую выцепить данные из файла, если конкретно, из автокадовского чертежа .dwg формата. Я понимаю,...

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

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

Чтение данных из файла С++
Здравствуйте. Дан простой пример потокового ввода/вывода дисковых файлов из Лафоре ООП С++. // форматированный вывод в файл //...

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


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru