Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

[C] заполнение структуры

40K
13 ноября 2009 года
himas
31 / / 13.11.2009
проблема в данном куске кода:
Код:
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);
}


результат вывода первого и второго printf будут разные. второй показывает лишь часть числа + непонятные символы

тестировал под rhel 5.4, компилил gcc

вопрос: как правильно передать значение элементу структуры?
11
14 ноября 2009 года
oxotnik333
2.9K / / 03.08.2007
память надо выделять и для структуры и для того что в ней находится, перед тем как использовать, а так определены только указатели.
40K
14 ноября 2009 года
himas
31 / / 13.11.2009
Цитата: oxotnik333
память надо выделять и для структуры и для того что в ней находится, перед тем как использовать, а так определены только указатели.



такое выделение памяти поможет?

 
Код:
dump *pdump = (dump*)calloc(1, sizeof(dump));


// в этот раздел запостил, потому что в winXP такой проблемы не было.
11
14 ноября 2009 года
oxotnik333
2.9K / / 03.08.2007
наполовину... еще надо под char *str; выделять
40K
14 ноября 2009 года
himas
31 / / 13.11.2009
Цитата: oxotnik333
наполовину... еще надо под char *str; выделять


внутри структуры?

11
14 ноября 2009 года
oxotnik333
2.9K / / 03.08.2007
да где хошь
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог