サイズ 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条件が有効かどうか悩んでいますか?op '&' をそのように実行できますか?