typedef struct
{
char *str;
} dump;
void somefunc(DWORD dwNum)
{
dump *pdump;
char temp[8];
snprintf(temp, 10, "%d", dwNum);
printf("%s \n", temp);
pdump->str = temp;
printf("%s \n", pdump->str);
}
[C] заполнение структуры
Код:
результат вывода первого и второго printf будут разные. второй показывает лишь часть числа + непонятные символы
тестировал под rhel 5.4, компилил gcc
вопрос: как правильно передать значение элементу структуры?
память надо выделять и для структуры и для того что в ней находится, перед тем как использовать, а так определены только указатели.
Цитата: oxotnik333
память надо выделять и для структуры и для того что в ней находится, перед тем как использовать, а так определены только указатели.
такое выделение памяти поможет?
Код:
dump *pdump = (dump*)calloc(1, sizeof(dump));
// в этот раздел запостил, потому что в winXP такой проблемы не было.
наполовину... еще надо под char *str; выделять
Цитата: oxotnik333
наполовину... еще надо под char *str; выделять
внутри структуры?
да где хошь