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

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

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

Студворк — интернет-сервис помощи студентам
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
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.11.2019, 22:50
Ответы с готовыми решениями:

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

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

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

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

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
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
05.11.2019, 10:52
Лучший ответ Сообщение было отмечено 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  [ТС]
т.е. если обращаться к каждому члену структуры мы получаем запись вида:
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  [ТС]
Ошибка устранена следующим решением:

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  [ТС]
т.е. если обращаться к каждому члену структуры мы получаем запись вида:
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  [ТС]
Большое спасибо. Действительно обращение к структуре реализуется в main или void. Саму структуру можно перенести в хедер.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
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'); assign(f2,'itog.txt'); ...

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru