gpt4 book ai didi

c - c中的文件处理?

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

我得到了一个包含多个 jpg 图像的原始文件。我必须浏览文件,找到每个 jpg 图像,并将这些图像分别放在一个单独的文件中。到目前为止,我的代码可以找到每个图像开始和结束的位置。我还编写了命名几个文件名的代码,我可以用它来放入图片。它是一个数组:char filename[],包含名称:image00.jpg - image29.jpg。

我想不通的是每次找到图像时如何打开一个文件,然后关闭该文件并为下一张图像打开一个新文件。我需要使用 fwrite() 吗?另外,每张图片都是 512 字节的 block ,所以我只需要在找到第一张图片后每 512 字节检查一次新图片。我需要将其添加到 fwrite 中吗?

因此,总结一下我的问题,我不明白如何使用 fwrite(),如果我应该使用它来写入这些文件的话。另外,我不知道如何使用我已经创建的名称打开文件。

在此先感谢您的帮助。让我知道是否需要发布任何其他代码。

最佳答案

  1. 使用fopen(rawfilename, "rb");打开原始文件进行阅读。和 fread从中阅读。
  2. 使用fopen(outfilename, "wb"); 打开输出文件进行写入和fwrite写信给它。
  3. 如我的评论所述,您正在将 char *[] 分配给 char*,使用 char filename[] = "image00.jpg"; 代替。
  4. 不要忘记在完成处理后关闭每个文件 (r/w)(在其他链接的同一站点查看 fclose())
  5. 通过解析 jpeg header 决定每次读取多少字节.使用 malloc分配需要读取的字节数,并记住,对于每个缓冲区分配,您需要 free稍后分配的缓冲区。

关于c - c中的文件处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5691346/

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