2011-08-05 96 views
1

我定义了一个简单的结构这样的结构:初始化包含文件

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元素的结构的最佳做法是什么?

非常感谢您的帮助。

+0

你要什么这个结构的价值指针?通过fopen()等正常使用FILE * s有什么问题? –

+0

我正在开始一个新项目。我已经开始向结构添加更多变量。主要是FLAGS。 – rahmu

回答

3

我想在你的函数sgf_file_new,你想做到这一点:

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

其实,你只初始化为0。

+0

谢谢。这就是它^^ – rahmu

+0

不客气。 ;-)如果你没有问题,请不要忘记验证回应。 ^^ – Cedekasme

+0

我是要:)显然你必须等待15分钟才能确认答案。在所有情况下,现在都完成了。 – rahmu