C で作業して、関数からの char* 戻り値で配列を埋めています
char* files[4][12];
int i = 0;
for (;;)
{
char* file = get_value();
strcpy(files[i],file);
i++;
if (i > 4 || external_condition)
break;
}
// When I break out of
// my for loop the following
// code executes
for (i = 0; i < 5; i++)
{
if (files[i] != NULL)
manipulate(files[i]);
}
私の問題は、ファイルのすべての要素に値を割り当てずに最初の for ループから抜け出すと、2 番目の for ループでの比較が失敗することです。files[0] と files[1] だけがコンテンツを持っている場合、ループは files[2]、file[3] と files[4] をとにかく処理します。