我有一个函数,它需要一个大小为 2kB 的缓冲区并将某些内容加载到其中。我可以假设该功能正常工作,但我无法对其进行测试。
函数原型是
int loadContent(unsigned long, char* buffer);
Unsigned long 是我要加载的块的数量(每个块的大小固定为 2kB),缓冲区是加载内容的地方。
现在我必须逐位遍历缓冲区并找到等于 1 的第一位。
为了确保缓冲区大小为 2kB,我做了一个变量
char buffer[2048];
但是我如何通过字符数组逐位迭代?
这样的事情可以吗?
unsigned long getFreeCluster(){
char helpbuffer[2048];
partition->readCluster(0, helpbuffer);
unsigned long comparator = 1;
unsigned long position = 0;
for(int i = 0; i<16384; i++){
if((cluster & comparator) == 1){ position = i; break; }
}
return position;
}
基本上,如果if条件有效,我只是担心?我可以像那样做'&'吗?