|
IAR и sprintf |
|
|
|
 |
Ответов
|
Jul 28 2006, 07:29
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(rezident @ Jul 27 2006, 20:08)  Первый параметр у sprintf должен быть указателем на буфер строки типа (char *). А что такое в вашем случае ST2 и ST1 компилятору видимо непонятно как и мне. В данном случае все правильно. STR1 и STR2 - массивы из 16 элементов типа char. Поскольку массивов как таковых в С нет, то имя массива тождественно указателю на его первый элемент. Т.е. STR1, STR2 имеют тип char *. Поэтому запись char *ptr = STR1; вполне корректна. Она тождественна записи char *ptr = &STR1[0]; И с другой стороны в С массивы в функции передаются как указатель на первый элемент. Так что с какой стороны ни подойди - в этом месте ошибки нет. Цитата(DeXteR @ Jul 27 2006, 19:51)  В первом случае функция sprintf работает нормально во втором - глючно А если поменять их местами? Т.е. проблема в чем - вообще любой второй вызов функции глючит или именно преобразование отрицательного числа? Пока могу предположить налезание стеков друг на друга. sprintf требовал стека более 100 байт. Сколько точно - не помню :-( А! можно в .map посмотреть.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Aug 1 2006, 07:06
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(rezident @ Jul 28 2006, 12:41)  Сергей, этим сообщением я лишь пытался обратить внимание на ошибку в написании имен массивов при вызове функции  Лето... отпуск только через 2 недели. Совсем я плохой стал. Код char STR1[16]; char STR2[16];
sprintf(STR2, "%i", NUM); sprintf(STR1, "%i", NUM2); Не вижу тут ошибки... :-(
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
Сообщений в этой теме
DeXteR IAR и sprintf Jul 27 2006, 16:51 DeXteR Цитата(rezident @ Jul 27 2006, 21:08) Пер... Jul 27 2006, 18:14 vet Возможно, дело в настройках Printf formatter (свой... Jul 27 2006, 22:11 DeXteR Цитата(rezident @ Jul 27 2006, 21:08) Пер... Jul 28 2006, 06:47 KRS Я думаю в printf лучше действительно использовать ... Jul 28 2006, 07:11 DeXteR Цитата(Сергей Борщ @ Jul 28 2006, 11:29) ... Jul 28 2006, 08:17 CSB Library Options -> Printf formatter -> Small... Jul 28 2006, 09:09 UFO to DeXteR
по синтаксису все верно, все же это что-... Jul 28 2006, 09:21 DeXteR Цитата(UFO @ Jul 28 2006, 13:21) Library ... Jul 28 2006, 09:36 DeXteR Цитата(Сергей Борщ @ Aug 1 2006, 11:06) Ц... Aug 1 2006, 07:25 DeXteR Уважаемые специалисты
Хочу продолжить эту тему по... Jan 23 2007, 11:59 IgorKossak Изменение хипа (кучи) в данном случае ничего не да... Jan 23 2007, 13:34 DeXteR Цитата(IgorKossak @ Jan 23 2007, 14:34) И... Jan 23 2007, 15:14 IgorKossak Цитата(DeXteR @ Jan 23 2007, 14:14) Отлад... Jan 23 2007, 16:18 IgorKossak Собрал Ваш пример.
Увеличение стека данных до 0х16... Jan 23 2007, 16:06 DeXteR Цитата(IgorKossak @ Jan 23 2007, 17:06) С... Jan 23 2007, 16:19 IgorKossak Версия 4.21а, но я думаю, что значения это не имее... Jan 23 2007, 16:25 DeXteR Цитата(IgorKossak @ Jan 23 2007, 17:25) В... Jan 23 2007, 16:39 DeXteR Скачал 4.21а с этого сайта
Скомпилировал проект Т... Jan 23 2007, 17:14 IgorKossak Может и вовсе не стОит AVRStudio юзать? Jan 23 2007, 17:47 DeXteR Цитата(IgorKossak @ Jan 23 2007, 18:47) М... Jan 23 2007, 18:12  IgorKossak Цитата(DeXteR @ Jan 23 2007, 17:12) Но вс... Jan 24 2007, 16:46 DeXteR Цитата(IgorKossak @ Jan 24 2007, 17:46) Ц... Jan 24 2007, 19:11
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|