C fread,fwrite用于大尺寸视频文件(约180MB)
我想读取一个视频文件并保存为二进制文件,然后再次写入视频文件。 我测试了180MB的视频。我使用了fread函数,它出现了分割错误,因为视频的数组大小很小 以下是我的问题:C fread,fwrite用于大尺寸视频文件(约180MB),c,video,fwrite,fread,C,Video,Fwrite,Fread,我想读取一个视频文件并保存为二进制文件,然后再次写入视频文件。 我测试了180MB的视频。我使用了fread函数,它出现了分割错误,因为视频的数组大小很小 以下是我的问题: 我使用160*1024字节的字符数组。字符数组的最大大小是多少?我怎样才能解决这个问题 该计划需要在以下方面发挥作用: 读取128字节的视频->加密->写入128字节 读取下一个128字节->加密->写入下一个 由于公司的安全规定,我无法上传我的代码。任何提示都将不胜感激。首先使用fseek()和SEEK\u END,然
- 读取128字节的视频->加密->写入128字节
- 读取下一个128字节->加密->写入下一个
fseek()
和SEEK\u 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);
}