Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2014, 00:10   #1
ciil3401
Новичок
Джуниор
 
Регистрация: 25.12.2014
Сообщений: 2
Вопрос Чтение структуры из бинарного файла

Не работает, вроде все правильно, вот программа которая записывает, она работает.
Код:
#include "stdafx.h"
#include <conio.h>
 
 

 
    struct TStudentTime
    {
        int Day;
        int Month;
        int Year;
        
        
    };
 
    struct TStudent
    {
        int Num;
        char Family[50];
        TStudentTime Dt;
        int Ochenka;
        char Dischep[30];
        char Prepod[30];
        
    };
	
int main()
{
 
 
    FILE *f;
    TStudent AStudent;
    char ch;
 
    if ((f = fopen("h:\\temp\\student.dat", "w+b")) == NULL)
{
    puts("Open file error");
    getch();
   return 0;
}
    int n=1;
    do
    {
        printf("Familiya: ");
        scanf("%s", AStudent.Family);
 
        printf("Vvedite ocenku: ");
        scanf("%d", &AStudent.Ochenka);
 
        int t;
 
        printf("Vvedite DAY: ");
        scanf("%d", &t);
 
        AStudent.Dt.Day=t;
 
        printf("Vvedite MONTH: ");
        scanf("%d", &t);
 
        AStudent.Dt.Month=t;
 
        printf("Vvedite YEAR: ");
        scanf("%d", &t);
 
        AStudent.Dt.Year=t;
       
        printf("Vvedite prepodavatel: ");
        scanf("%s", AStudent.Prepod);
 
 
        printf("Vvedite discheplinu: ");
        scanf("%s", AStudent.Dischep);
 
      
        
        AStudent.Num=n++;
        fwrite(&AStudent, sizeof(AStudent), 1, f);
        printf("povtorit? y/n");
        ch = getch ();
    } while (ch == 'y');
    fclose(f);
}
А вот которая читает , она не работает.
Код:
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
struct TStudentTime
{
int Day;
int Month;
int Year;
 
};
 
struct TStudent
{
int Num;
char Family[50];
TStudentTime Date;
 
int Ochenka;
char Dischep[30];
char Prepod[30];
};
FILE *f;
TStudent buf;
char ch;
int z;
setlocale(0, "");
 
f = fopen("h:\\temp\\student.dat", "r+b");
if (f == NULL){
printf("ERROR");
getch();
};
while ((z = fread(&buf, sizeof(buf), 1, f))>0)
{
cout « "Family : " « buf.Family « endl;
cout « "Day : " « buf.Date.Day « endl;
cout « "Month : " « buf.Date.Month « endl;
cout « "Year : " « buf.Date.Year « endl;
cout « "Ochenka : " « buf.Ochenka « endl;
cout « "Dischep : " « buf.Dischep « endl;
cout « "Prepod : " « buf.Prepod « endl;
};
 
fclose(f);
 
getch();
 
return 0;
}
Вопрос, почему?

Последний раз редактировалось Stilet; 25.12.2014 в 09:43.
ciil3401 вне форума Ответить с цитированием
Старый 25.12.2014, 01:54   #2
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию

у меня работает, если файл не пустой)
Smogg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение бинарного файла code358 Общие вопросы Delphi 7 01.12.2013 21:49
Чтение из бинарного файла в С++ ArmanPrestige Общие вопросы C/C++ 10 15.07.2012 21:36
Чтение из бинарного файла lioc C# (си шарп) 10 20.02.2012 21:12
чтение из бинарного файла Kukurudza Общие вопросы C/C++ 6 08.09.2011 19:09
Чтение из бинарного файла. kir_rik Помощь студентам 2 04.06.2010 00:31