[英]Initializing a struct containing a file
I defined a simple struct like this: 我定义了一个简单的结构,像这样:
typedef struct SGFile SGFile;
struct SGFile{
FILE* sgf_file;
};
And a initialization function like this: 还有一个初始化函数,如下所示:
SGFile* sgf_file_new (void){
GFile* sgf = {NULL};
return sgf;
}
In my main, I try to initialize my function like this: 在我的主机中,我尝试像这样初始化函数:
SGFile* sgf = sgf_file_new();
It's obviously not what I want to do, because sgf still points to NULL (0x000000). 显然,这不是我想要执行的操作,因为sgf仍指向NULL(0x000000)。
My question is: what's the best practice to initialize a struct containing a FILE element? 我的问题是:初始化包含FILE元素的结构的最佳实践是什么?
Your help is very much appreciated. 非常感激你的帮助。
I think in your function sgf_file_new
, you wanted to do this: 我认为在您的函数sgf_file_new
,您想这样做:
SGFile* sgf_file_new (void)
{
GFile* sgf = (GFile*)malloc(sizeof(GFile));
return sgf;
}
In fact, you only initialized the pointer with the value 0. 实际上,您仅使用值0初始化了指针。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.