gpt4 book ai didi

c - 从 bin 文件中读取单个 int 在 C 中给我一个段错误

转载 作者:行者123 更新时间:2023-12-02 05:33:32 24 4
gpt4 key购买 nike

我需要你的帮助来解决一些应该很容易的事情,但我不知道为什么它不起作用。我想从一个 bin 中读取第一个数据,我知道它是一个 int。我正在使用以下代码部分,但出现段错误:

int main(int argc, char **argv)
{
int *data;
/*opening file*/
FILE *ptr_myfile;
ptr_myfile=fopen(myfile.bin","rb");
if (!ptr_myfile)
{
printf("Unable to open file!\n");
return 1;
}
/*input file opened*/
printf("I will read the first 32-bit number\n");
/*will read the first 32 bit number*/
fread(&data,sizeof(int),1, ptr_myfile);
printf("Data read is: %d\n",*data);

fclose(ptr_myfile);
return 0;
}

我也试过这样调用它:

fread(data,sizeof(int),1, ptr_myfile);

应该是带指针的东西,但我看不到。

最佳答案

改变:

  • int *data;int data;
  • printf("读取的数据是:%d\n",*data); to printf("读取的数据是:%d\n",data);

您正在将 int 读取到一个指针中,然后尝试取消引用该指针(它的值作为一个指针毫无意义)。

关于c - 从 bin 文件中读取单个 int 在 C 中给我一个段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16616226/

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