【发布时间】:2014-04-22 16:28:33
【问题描述】:
对于一个使用 WaveHC 的 Arduino-Fun 小项目,我想将 SD 卡上的文件名存储在二维字符数组中。
但是没有足够的 C 知识。
我试过了:
...
FatReader root;
FatVolume vol;
dir_t dirBuf;
char **allFilenames;
...
//get number of files
int fileCount = 0;
while(root.readDir(dirBuf) > 0) {
fileCount++;
}
//prepare array, filenames will always be 8 + 1
allFilenames = malloc(fileCount * sizeof(char[9]));
现在,如果 fileCount 变得比 15 大,那么在分配文件名并尝试访问它们时,它似乎会严重溢出。
所以我的问题是 1. malloc() 语句是否正确? 2. 如果是,我的方法由于内存限制将无法工作,对吗?
谢谢
【问题讨论】:
标签: c multidimensional-array char arduino