arrays - 从数组复制到另一个大小不确定的数组
问题描述
char line[4096];
char filebuf;
我目前正在研究 STM32746G,我已经设法从 SD 卡读取 BMP 文件。字节被放入line[4096]
,我想将元素复制line
到filebuf
. 问题是我希望filebuf
与包含的元素数量一样大line
。
这是因为某些 BMP 文件可能更大。
我当前使用的 BMP 文件只有 715 个字节,这意味着大约 3000 个字节是无用的数据。
任何人都知道如何解决我的问题?
解决方案
您可以使用malloc
函数以与文件大小完全相同的大小动态分配缓冲区大小。
这是伪代码:
char* buff = malloc(buffer_size);
您可以使用此答案来获取文件的大小。
但不要忘记在使用后释放内存。
推荐阅读
- javascript - Crypto.getRandomValues 的熵源是什么?
- quarkus - 如何覆盖 Quarkus 中的 CDI bean 进行测试?
- laravel - 在应用服务提供者中使用 app()->setLocale() 时类翻译器不存在
- vhdl - 制作一个小的 VHDL 脚本,当输入 1 时输出 1(5v) 2 秒,然后返回到零
- typescript - 从对象字面量派生 TypeScript 接口
- spring-security - 用户配置文件信息存储在 JWT 中或使用 API
- python - OpenCV:Canny 边缘检测器获取 minEnclosureCircle
- java - 数据可用时发送数据到串口
- javascript - 如何将空数组放入模板字符串
- javascript - 为什么我使用 Ajax 进行重定向/刷新