gpt4 book ai didi

c - fread、fwrite 适用于大尺寸视频文件(约 180MB)

转载 作者:行者123 更新时间:2023-11-30 15:46:18 27 4
gpt4 key购买 nike

我想读取视频文件并保存为二进制文件并再次写入视频文件。我用 180MB 视频进行了测试。我使用了 fread 函数,但它发生了段错误,因为视频的数组大小很小。

这些是我的问题:

  1. 我使用 160*1024 字节的字符数组。 char 数组的最大大小是多少?我该如何解决这个问题?

  2. 该程序需要如下工作:

    • 读取 128 字节视频 -> 加密 -> 写入 128 字节
    • 读取接下来的 128 个字节 -> 加密 -> 写入下一个。

由于公司的安全规则,我无法上传我的代码。任何提示将不胜感激。

最佳答案

首先使用 fseek()SEEK_END,然后使用 ftell() 确定文件大小,然后使用malloc() 并将数据写入该内存。

如果我理解正确的话,你不需要分配那么多内存,只需分配 128 字节即可。

char buf[128];
while(/* condition */)
{
ret = fread(buf, sizeof buf, 1, fp_in);
encrypt(buf);
ret = fwrite(buf, sizeof buf, 1, fp_out);
}

关于c - fread、fwrite 适用于大尺寸视频文件(约 180MB),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18488268/

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