首页 > 解决方案 > 从数组复制到另一个大小不确定的数组

问题描述

char line[4096];
char filebuf;

我目前正在研究 STM32746G,我已经设法从 SD 卡读取 BMP 文件。字节被放入line[4096],我想将元素复制linefilebuf. 问题是我希望filebuf与包含的元素数量一样大line

这是因为某些 BMP 文件可能更大。

我当前使用的 BMP 文件只有 715 个字节,这意味着大约 3000 个字节是无用的数据。

任何人都知道如何解决我的问题?

标签: arraysc

解决方案


您可以使用malloc函数以与文件大小完全相同的大小动态分配缓冲区大小。

这是伪代码:

char* buff = malloc(buffer_size);

您可以使用此答案来获取文件的大小。

但不要忘记在使用后释放内存。


推荐阅读