Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 16
1

Как присвоить значения переменным структуры из внешнего файла в С++

04.11.2019, 22:50. Показов 1251. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
typedef struct  
  {
    uint8_t T_set;     // 1 byte
    uint8_t Parameter2;     // 1 byte
    uint8_t Parameter3;     // 1 byte
    uint8_t Parameter4;     // 1 byte
    uint8_t Parameter5;     // 1 byte
    uint8_t Parameter6;     // 1 byte
    uint8_t Parameter7;     // 1 byte
    uint8_t Parameter8;     // 1 byte
                      
  } tpSettings;
tpSettings settings;
Есть структура. Как задать значения переменным Parameter? В том числе из внешнего файла?
Заранее спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.11.2019, 22:50
Ответы с готовыми решениями:

Как присвоить значения переменным, взяв значения из другого файла
Добрый день. Имеется файл 1.php с содержимым всего из трех чисел через запятую 1721,17116,1703...

Как организовать считывание с файла значения, и присвоить его переменным
Т.е. я хочу считать с файла например 3 координаты. Их значение присвоить переменным, проделать...

Присвоить значения из файла переменным
иметься файл вида: 01.01.1960 02.01.1960 03.01.1960 04.01.1960 05.01.1960 06.01.1960...

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

8
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 16
05.11.2019, 08:31  [ТС] 2
Допустим нужно задать значения параметра2=5; параметра3=6. Какова последовательность действий. В материнском файле прописываем структуру (в heder), в новом файле в его h. файле прописываем heder материнского. Что дальше: settings.Parameter2=5 ; ???
0
43 / 39 / 5
Регистрация: 16.09.2019
Сообщений: 285
05.11.2019, 09:09 3
Есть, на мой взгляд, довольно неплохой онлайн-учебник по С++... держи:
Уроки С++
раз в инстике еблуешь...
1
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 16
05.11.2019, 10:46  [ТС] 4
В указанном источнике решение не найдено.Упростим задачу, сделаем по примеру из учебника:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
struct Employee
 
  {
    uint8_t Parameter1;     // 1 byte
    uint8_t Parameter2;     // 1 byte
    uint8_t Parameter3;     // 1 byte
    uint8_t Parameter4;     // 1 byte
    uint8_t Parameter5;     // 1 byte
    uint8_t Parameter6;     // 1 byte
    uint8_t Parameter7;     // 1 byte
    uint8_t Parameter8;     // 1 byte
 
                           
  } ;
 
Employee john;
 
uint8_t b=5;
john.Parameter1=b;
получаем следующие ошибки по последней строчке:
Error[Pe077]: this declaration has no storage class or type specifier
Error[Pe247]: variable "john" has already been defined (at line 23)
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,713
05.11.2019, 10:52 5
Лучший ответ Сообщение было отмечено Dmitry_style011 как решение

Решение

А так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
struct Employee
 
{
uint8_t Parameter1; // 1 byte
uint8_t Parameter2; // 1 byte
uint8_t Parameter3; // 1 byte
uint8_t Parameter4; // 1 byte
uint8_t Parameter5; // 1 byte
uint8_t Parameter6; // 1 byte
uint8_t Parameter7; // 1 byte
uint8_t Parameter8; // 1 byte
 
 
} ;
int main()
{
   Employee john;
   uint8_t b=5;
   john.Parameter1=b;
   return 0;
}
1
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 16
05.11.2019, 11:10  [ТС] 6
т.е. если обращаться к каждому члену структуры мы получаем запись вида:
Employee Parameter1={b};
Employee Parameter2={f};
Employee Parameter3={g};
Employee Parameter4={h};
Employee Parameter5={j};
0
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 16
05.11.2019, 11:10  [ТС] 7
Ошибка устранена следующим решением:

typedef struct

{
uint8_t Parameter1; // 1 byte
uint8_t Parameter2; // 1 byte
uint8_t Parameter3; // 1 byte
uint8_t Parameter4; // 1 byte
uint8_t Parameter5; // 1 byte
uint8_t Parameter6; // 1 byte
uint8_t Parameter7; // 1 byte
uint8_t Parameter8; // 1 byte

} Employee;

uint8_t b=5;
Employee john={b};

Интересно какому из значений структуры присвоено 5 ?!

Добавлено через 12 минут
т.е. если обращаться к каждому члену структуры мы получаем запись вида:
Employee Parameter1={b};
Employee Parameter2={f};
Employee Parameter3={g};
Employee Parameter4={h};
Employee Parameter5={j};

Добавлено через 6 секунд
т.е. если обращаться к каждому члену структуры мы получаем запись вида:
Employee Parameter1={b};
Employee Parameter2={f};
Employee Parameter3={g};
Employee Parameter4={h};
Employee Parameter5={j};
0
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 16
05.11.2019, 11:10  [ТС] 8
т.е. если обращаться к каждому члену структуры мы получаем запись вида:
Employee Parameter1={b};
Employee Parameter2={f};
Employee Parameter3={g};
Employee Parameter4={h};
Employee Parameter5={j};
0
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 16
07.11.2019, 08:20  [ТС] 9
Большое спасибо. Действительно обращение к структуре реализуется в main или void. Саму структуру можно перенести в хедер.
0
07.11.2019, 08:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.11.2019, 08:20
Помогаю со студенческими работами здесь

Присвоить переменным значения чисел, прочитанных из файла
Нужно считать числа из файла и присвоить эти значения переменным. например 25.1 3.5 1 2.3

Переменным m и n присвоить первые два значения из файла
Добрый день! Помогите, пожалуйста. Мне нужно из файла первое значение присвоить переменной m,...

Если значения переменных не равны то присвоить каждой сумму их значений, иначе присвоить переменным нулевые значения
uses crt; var x: integer; f1,f2: text; begin clrscr; assign(f1,'ishod.txt'); ...

Как присвоить значения однотипным переменным в цикле?
Здравствуйте! В коде есть 14 переменных: Vopros1 , Vorpos2 ... Vopros14 Дальше хочу сделать...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru