| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Структури проблем !!! http://mcu-bg.com/mcu_site/viewtopic.php?f=16&t=18462 |
Страница 1 от 1 |
| Автор: | RM [ Сря Юли 20, 2022 8:45 pm ] | |||||||||
| Заглавие: | Структури проблем !!! | |||||||||
Здравейте Имам няколко въпроса относно код на С.
Ползвам Борланд. Показал съм само това което не работи според очакванията. Явно имам празноти в главата Така съм конструирал програмата че е невъзможно да променям нищо, без да почна от начало... Зареждам данни към модул. Данните ми вървят в пакети, като пакета който изпращам е структура от данни. подредбата на данните е една и съща, само данните могат да бъдат различни, без да нарушават пакета. Всичко ми работи ОК, с изключение на това че при писането във фаила - Y_type ми изкарва нещо съвсем друго ... вместо 01 и за да е по гадно излизат повече знаци - цели 6 знака вместо 2. Да добавя, че компилатора не ми дава нищо ... поне един варнинг да изреве. |
||||||||||
| Автор: | MYXATA [ Сря Юли 20, 2022 9:15 pm ] |
| Заглавие: | Re: Структури проблем !!! |
Що не туриш едно...., ( int)rec->Ytype); |
|
| Автор: | iss [ Сря Юли 20, 2022 9:23 pm ] |
| Заглавие: | Re: Структури проблем !!! |
... а може би това, което си показал, не е съвсем сорса? Във ф-цията func1() променливата Y_record rec е локална и каквито и промени да правиш си остават само там във функцията. От къде взимаш pointer-a за да го предадеш на func2? Друго нещо е fprintf - спецификаторът "%d" очаква да подадеш int, така че е добра практика поне да го cast-ваш. |
|
| Автор: | RM [ Сря Юли 20, 2022 9:32 pm ] | ||||||||||||||||||
| Заглавие: | Re: Структури проблем !!! | ||||||||||||||||||
Нормално ли е да питам ЗАЩО??? нали enum си дефинира int. Всичко друго в структурата си е дефинирано, само enum нямаше причина да го указвам като int. какво ли не опитвах. Огромни благодарности.
втората функция само записва структурата във файла понта предавам като параметър в скобите на функцията. // Y_record rec е локална и каквито и промени да правиш си остават само там във функцията. При мен промяната се записва в структурата , и изчезва само предефинирания rec. дефинирам си нов rec във втората функция и си изваждам вече промененото значение. Ползвам едно и също rec ... защото се забърквам много |
|||||||||||||||||||
| Автор: | MYXATA [ Чет Юли 21, 2022 1:57 am ] |
| Заглавие: | Re: Структури проблем !!! |
Защото С езика е много добър ако му казваш какво точно да прави В твоят случай, не му е ясно как да ти конверира енума, така че казвайки му - тази променлива е интерпретирай като инт, след това fprintf-a знае как да ти принтне стойността. И между впрочем противно на заглавието на темата, това не е проблем със структурите, борланд и т.н. Трабва си четене. |
|
| Автор: | t_i_t_o [ Чет Юли 21, 2022 7:42 am ] |
| Заглавие: | Re: Структури проблем !!! |
Проблема ти е че си мислиш че е енума е инт, а той е толкова голям колкото реши компилатора, така че да побере максималната му стойност. |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|