gpt4 book ai didi

c - 为什么害怕段错误?

转载 作者:太空宇宙 更新时间:2023-11-04 10:38:27 24 4
gpt4 key购买 nike

我的任务是为 .iso 文件系统中的文件实现 ls 函数。我需要使用 fread 但它是段错误。我知道该文件存在并且我知道其中有数据。我有调用 fread 的格式,我设置如下

static void ls(File *file, int32_t root_dir_size)
{
void* sector;
int result;
result = fread(sector, 1, 1, file);
}

为什么会出现这个段错误?我是 C 的新手,我来自 C++,所以不确定我在这里遗漏了什么。

最佳答案

fread 需要内存来放置它正在读取的数据。该内存由第一个参数指向,在您的例子中是 sector。但是,您还没有初始化 sector。您将需要分配一些内存,在本例中只是一个字节,并让 sector 指向它。例如:

void *sector = malloc(1);

一如既往,不要忘记在使用完内存后释放内存。

关于c - 为什么害怕段错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36274240/

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