Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.55/47: Рейтинг темы: голосов - 47, средняя оценка - 4.55
7 / 4 / 4
Регистрация: 27.03.2017
Сообщений: 131

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

27.07.2017, 00:20. Показов 9177. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru