Инициализация структуры, содержащей файл - PullRequest
1 голос
/ 06 августа 2011

Я определил простую структуру следующим образом:

typedef struct SGFile SGFile;
struct SGFile{
    FILE* sgf_file;
};

И функция инициализации, подобная этой:

SGFile* sgf_file_new (void){
    GFile* sgf = {NULL};
    return sgf;
}

В своем основном я пытаюсь инициализировать свою функцию следующим образом:

SGFile* sgf = sgf_file_new();

Это явно не то, что я хочу сделать, потому что sgf по-прежнему указывает на NULL (0x000000).

Мой вопрос таков: как лучше всего инициализировать структуру, содержащую элемент FILE?

Ваша помощь очень ценится.

1 Ответ

3 голосов
/ 06 августа 2011

Я думаю, что в вашей функции sgf_file_new вы хотели сделать это:

SGFile* sgf_file_new (void)
{
    GFile* sgf = (GFile*)malloc(sizeof(GFile));
    return sgf;
}

Фактически, вы только инициализировали указатель со значением 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...