gpt4 book ai didi

c - 使用 FILE 类型的结构时接收段错误 - C

转载 作者:行者123 更新时间:2023-11-30 14:55:04 25 4
gpt4 key购买 nike

尝试使用 fopen 和包含 FILE 类型的结构打开文件时,我不断收到段错误。刚接触 C 语言,如果这是一个菜鸟问题,我很抱歉。结构体代码:

  typedef struct _FileInternal {
FILE* fp;
char mem[2];
} FileInternal;

// file handle type
typedef FileInternal* File;

打开文件的代码:

File open_file(char *name) {
File a;

fserror=NONE;
// try to open existing file
a->fp=fopen(name, "r+");
if (! a->fp) {
// fail, fall back to creation
a->fp=fopen(name, "w+");
if (! a->fp) {
fserror=OPEN_FAILED;
return NULL;
}
}
return a;
}

尝试文件f;f=fopen("newfile.dat");返回错误

非常感谢任何帮助!

最佳答案

File 是一个指针类型,它使 a 成为一个指针。 a 永远不会初始化为指向有效的 FileInternal 结构,因此取消引用它可能会导致段错误。

关于c - 使用 FILE 类型的结构时接收段错误 - C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46268033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com