7 / 4 / 4
Регистрация: 27.03.2017
Сообщений: 131

Запись данных в структуру из файла

27.07.2017, 00:20. Показов 9206. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь прочесть файл и записать содержимое в структуру.
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
29
30
31
32
33
34
35
36
37
38
39
40
#include <stdio.h>
#include <stdlib.h>
#define NUMBER_OF_GAMES 10
#define MAX_NAME 20
 
struct name
{
    char first_name[MAX_NAME];
    char last_name[MAX_NAME];
};
struct player
{   
    short player_number;
    struct name fellow;
    int scores[NUMBER_OF_GAMES][4];
    double middle_score;
};
int main(int argc, char **argv)
{
    struct player players[5];
    if(argc == 1)
    {
        fprintf(stderr,"Не указано имя файла\n");
        exit(EXIT_FAILURE);
    }
    FILE * fp;
    if((fp = fopen(argv[1],"r")) == NULL)
    {
        fprintf(stderr,"Указанный файл не найден\n");
        exit(EXIT_FAILURE); 
    }
    int i;
    for(i = 0; i < NUMBER_OF_GAMES && fread(&players[5],sizeof(players)/sizeof(players[0]),1,fp) == 1; ++i)
    {
        fprintf(stdout,"\nСтруктура данных получает следующие данные\n");
        fprintf(stdout,"%hi %s %s %d %f\n",players[i].player_number, players[i].fellow.first_name,players[i].fellow.last_name, 
        players[i].scores[i][0], players[i].middle_score);
    }
return 0;
}
данные следующие:
1 Albert Einstein 0 1 2 3 4 1.2
Вот, что выдает командная строка:
Структура данных получает следующие данные
30132 �A� 0 0.000000

Структура данных получает следующие данные
0 0 0.000000

Структура данных получает следующие данные
1 0 0.000000

Структура данных получает следующие данные
20014 =� 32765 0.000000

Структура данных получает следующие данные
-7736 �A� 32706 0.000000

Структура данных получает следующие данные
13344 1. 0 0.000000
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.07.2017, 00:20
Ответы с готовыми решениями:

Запись из файла в структуру
Здравствуйте, как реализовать то, чтоб данные из файла (формат .txt) записывались в структуру? Буду рад любой подсказке. Заранее...

Запись данных из файла в связанный список
Здравствуйте, нужно выгрузить данные про песни (название, год, альбом итд) из файла в связнный список. Каждая одна песня- список. В файл...

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

24
7 / 4 / 4
Регистрация: 27.03.2017
Сообщений: 131
28.07.2017, 19:42  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от MansMI Посмотреть сообщение
издеваетесь? мое последнее было для бинарного, а его нет
Я не издеваюсь. Я не знаю, как создать бинарник, вероятно, с помощью записи fwrite из какой либо сущности в файл с помощью программы, но задача стоит в другом. fscanf почему то тоже не проходит с текстовым.
0
1620 / 1185 / 553
Регистрация: 08.01.2012
Сообщений: 4,564
28.07.2017, 19:58
и чего это мой не прошел? там разом строка считывается и крути-верти ее, а fscanf придется разом все ее значения прочитать(чтоб добраться до следующей), а должно их быть вроде 44, впрочем дело хозяйское
0
7 / 4 / 4
Регистрация: 27.03.2017
Сообщений: 131
29.07.2017, 02:17  [ТС]
Цитата Сообщение от MansMI Посмотреть сообщение
и чего это мой не прошел?
Он не прошел ввиду того, что дробное число интерпретируется неверно. В остальном этот вариант работает.
0
1620 / 1185 / 553
Регистрация: 08.01.2012
Сообщений: 4,564
29.07.2017, 04:21
C
1
sscanf(s,"%hi%s%s",&players[i].player_number, players[i].fellow.first_name,players[i].fellow.last_name);
и кто из них тут дробное?
0
7 / 4 / 4
Регистрация: 27.03.2017
Сообщений: 131
29.07.2017, 18:05  [ТС]
Цитата Сообщение от MansMI Посмотреть сообщение
и кто из них тут дробное?
Структура, которую я описал, имела элемент с плавающей точкой. Я попробовал его включить в sscanf, не получилось. Но это небольшая проблема, просто посчитал с помощью арифметики.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.07.2017, 18:05

Запись данных из файла в структуру
Условие задачи ниже. Файл с данными: What are colors in Russian flag (from top to bottom)? Red, blue and white white, blue and red ...

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

Запись в структуру из файла. База данных
Добрый день. Помогите советом, очень нужно, т.к. собираюсь доделать за ближайшие часы. Я пишу базу данных на основе двусвязного...

Запись из бинарного файла в структуру
Реализовал запись из бинарника в структуру на С++, решил добавить удобства и оформить в формах C#. И тут появилась трудность переноса кода...

Неверная запись в структуру данных
Здравствуйте, прощу помощи в решении некоторых ошибок: Сам код: #include &lt;iostream&gt; #include &lt;windows.h&gt; #include...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Опции темы

Новые блоги и статьи
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru