Цитата(Mokena @ Oct 22 2007, 23:49)

Нужно преобразовать число в строковое представление и подставить в строку, где уже есть название параметра и единица измерения, к примеру: "Freq: %dMHz". Удобнее всего это сделать с помощью sprintf(), но она всегда возвращает пустую строку. Какие здесь бывают подводные камни? Какие строки нужно использовать: динамические (char *st) или с явно заданной длиной (char *st[20]), нужно ли выделять для них память?
Может быть лучше использовать связку ltoa() + strcpy() + strcat()? Правда, это не совсем удобно, но может-быть работает быстрее?
Да вроде нет тонкостей...
Объявляете строку, лучше статически и лучше глобальную для начала, подключаете <stdio.h> и все должно работать. Например так:
Код
#include <stdio.h>
char g_sFreq[32];
void main()
{
sprintf(g_sFreq, "Freq: %d MHz", 13);
}
Если какие-то проблемы -- надо смотреть, иногда бывает из-за недостаточного стека или еще из-за чего.
С динамическй памятью лучше не связываться, во первых надо кучу выделить в памяти (а в 28-м итак памяти с гулькин нос), во-вторых это довольно медленно работает (менеджер памяти там и т.п.), в-третьих, бывали непонятки иногда (правда на другом камне).