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

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

Войти
Регистрация
Восстановить пароль
 
kkk008009kkk
46 / 46 / 1
Регистрация: 24.03.2011
Сообщений: 315
#1

Чтение структуры из файла - C++

15.04.2012, 22:31. Просмотров 750. Ответов 6
Метки нет (Все метки)

Добрый день.

Пытаюсь считать структуру из файла в структуру(идентичную структуре файла) получается такой код:

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
#include <stdio.h>
#include <iostream>
 
struct tbook {
  double y;
  double x[4];
  double c[5];
  double z1[4];
  double z2[4];
  double z3[4];
  };
 
  int main()
{
      
      tbook book;
      int i, n; 
  FILE *f;
 
      f = fopen ( "books.dat", "rb" );
n = fread ( book, sizeof(tbook), 1, f );//здесь получается ошибка
 
fclose ( f );
getch();
 
 
}
Явно, что-то не то делаю. Объясните, как сделать, пожалуйста.

Добавлено через 20 минут
Пришел к такому варианту:

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
#include <stdio.h>
#include <conio.h>
 
struct tbook {
  double y;
  double x[4];
  double c[5];
  double z1[4];
  double z2[4];
  double z3[4];
  };
 
int main()
 
{
  tbook B[1];
  int i, n; 
  FILE *f;
  f = fopen ( "books.dat", "rb" );
  n = fread ( B, sizeof(tbook), 100, f );
  fclose(f);
  
  fclose ( f );
  printf ( "%f",B[1].c[1]);
  getch();
  return 0;
}
Однако не работает.((
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2012, 22:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение структуры из файла (C++):

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

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

Чтение из файла структуры - C++
Есть небольшая и непонятная проблема вот весь код программы #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; #include...

Чтение структуры из файла - C++
Добрый вечер. Помогите пожалуйста застрял на одном месте: 1. Используя ввод-вывод в стиле С++ создать файл и записать в него...

Чтение структуры с файла - C++
Имеется следующая структура: struct car { int id; char brand; char model; int yearOfRelease; char color; ...

Запись и чтение структуры в/из файла - C++
Столкнулся с очередной проблемой. Есть несколько участков кода: Структура &quot;Абонент&quot;: struct Subscriber { char FIO ; ...

6
easybudda
Модератор
Эксперт CЭксперт С++
9664 / 5614 / 952
Регистрация: 25.07.2009
Сообщений: 10,781
15.04.2012, 22:36 #2
Цитата Сообщение от kkk008009kkk Посмотреть сообщение
Пришел к такому варианту
Да можно было просто
C++
1
n = fread ( &book, sizeof(tbook), 1, f );
Цитата Сообщение от kkk008009kkk Посмотреть сообщение
Однако не работает.((
Файл 2 раза с какой целью закрываете?

Цитата Сообщение от kkk008009kkk Посмотреть сообщение
printf ( "%f",B[1].c[1]);
Индексы с нуля начинаются
C++
1
printf ( "%f",B[0].c[1]);
при таком подходе.

А вообще странный какой-то С++, очень С напоминает...
1
kkk008009kkk
46 / 46 / 1
Регистрация: 24.03.2011
Сообщений: 315
15.04.2012, 22:45  [ТС] #3
easybudda, Сейчас пришел к такому варианту:

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
#include <stdio.h>
#include <conio.h>
 
struct tbook {
  double y;
  double x[4];
  double c[5];
  double z1[4];
  double z2[4];
  double z3[4];
  }book;
 
int main()
 
{
  
  int i, n; 
  FILE *f;
  f = fopen ( "books.dat", "rb" );
  (fread(&book,sizeof(struct tbook), 1, f);//здесь ошибка
  fclose(f);
  
 
  //printf ( "%f",B[1].y);
  getch();
  return 0;
}
Но опять ошибка.

П.С.Работаю на Dev-C++
0
easybudda
Модератор
Эксперт CЭксперт С++
9664 / 5614 / 952
Регистрация: 25.07.2009
Сообщений: 10,781
15.04.2012, 22:46 #4
Цитата Сообщение от kkk008009kkk Посмотреть сообщение
Но опять ошибка.
Какая - угадать нужно?
1
kkk008009kkk
46 / 46 / 1
Регистрация: 24.03.2011
Сообщений: 315
15.04.2012, 22:49  [ТС] #5
easybudda, В комментариях написал в коде, где ошибка выскакивает.

А пишет:

C++
1
 expected `)' before ';' token
0
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
15.04.2012, 22:52 #6
Цитата Сообщение от kkk008009kkk Посмотреть сообщение
easybudda, В комментариях написал в коде, где ошибка выскакивает.

А пишет:

C++
1
 expected `)' before ';' token
скобка перед fread лишняя Т_т
1
kkk008009kkk
46 / 46 / 1
Регистрация: 24.03.2011
Сообщений: 315
15.04.2012, 22:54  [ТС] #7
Разобрался. Хотел бы еще узнать:

Порядок списка

C++
1
2
3
4
5
6
 double y;
  double x[4];
  double c[5];
  double z1[4];
  double z2[4];
  double z3[4];
влияет на результат?

Почему-то при разной сортировке выдает разный результат
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2012, 22:54
Привет! Вот еще темы с ответами:

Чтение из файла полей структуры - C++
есть файл в котором есть таблица с данными, вывод в файл идет с помощью вот такой функции : void FileOutput(char* d) { dish* p=head; ...

Корявое чтение структуры из файла - C++
Утро доброе. Читаю начало файла в такую структуру: struct Header { int Code; // 0 int UnUsed1; // 4 int...

Чтение 10-ой структуры из бинарного файла - C++
Здравствуйте как это реализовать, не перебирая все структуры.

Запись и чтение структуры из файла - C++
Здравствуйте, у меня дано такое задание: Составить программу &quot;Список студентов группы&quot;, в котором указаны - Фамилия,Имя,пол, место...


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
15.04.2012, 22:54
Ответ Создать тему
Опции темы

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