|
То как Вы строку представили - значит, что она лежит в памяти процессора без предварительной инициализации. Т е - попробуйте в C-SPY сбросить ядро и посмотрите в память - строка уже будет там лежать (!). И далее - в программе нет кода который ее туда бы заносил. А в реальности-то (естесственно) никто предварительно ее в память не ложил.
Есть 2 решения проблемы:
1. Использовать sprintf_P
2. Есть галочка в опциях компилера (не помню точного названия) типа "initialize strings" - ее легко найти. Это скажет компилятору ложить строку в память при инициализации.
Но учитите, что второй случай будет предпочтительней тогда, когда Вы хотите потом менять содержимое строки, иначе используйте sprintf_P. Так-же в тему: рекомендую освоить работу с "кучей" (опрераторы new и delete) - это очень помогает экономить память при работе с массивами (в частном случае со строками).
E-mail: info@telesys.ru