gpt4 book ai didi

c - 使用 fread 将文件的一部分读取到缓冲区

转载 作者:行者123 更新时间:2023-11-30 14:26:44 42 4
gpt4 key购买 nike

请告诉我哪里出错了。

我有一个文件,需要将最后 n 个字节复制到数组中。

    char *buffer = (char *)malloc(sizeof(char)*n);
size_t result = fread(buffer,sizeof(char)*n,1,outptr);

结果值为0。

到目前为止,我的代码中的所有内容都工作正常(我已使用 gdb 检查了所有值)。在几行之后我也会释放缓冲区。

n 是用户输入的。输出 ptr 用作

    FILE *outptr = fopen(outfile,"w") 

//输出文件名也是用户输入的,并经过检查以确保它是 bmp 文件。

最佳答案

您正在尝试读取以写入模式打开的文件。

更改:

FILE *outptr = fopen(outfile,"w");

至:

FILE *outptr = fopen(outfile,"r"); /* Use "rb", not "r", if 'outfile' is binary. */

关于c - 使用 fread 将文件的一部分读取到缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8659244/

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