私は Ubuntu で相対パスを開こうとしていますが、最初のフォルダーを開いた後 - と呼ばれる14- コードは内部のフォルダーを開くことができません - と呼ばれます15:
int pathsCtr; // number of folders in RelativeArray
char ** RelativeArray; // the folders in the relative path, currently:
RelativeArray[0] = "14";
RelativeArray[1] = "15";
// some code before
if (pathsCtr > 0 && flag == TRUE) // then we have a relative path
{
int j = 0;
while (j < pathsCtr) // run until the last path and open every one
{
printf("\n%s\n" , RelativeArray[j]);
dirp = opendir(RelativeArray[j]); // open all directories until the last one
if (dirp == NULL)
return -1;
j++; // proceed to the next directory
}
flag = FALSE; // turn off the flag , we'll never go near this again
}
j == 0この行の場合:動作dirp = opendir(RelativeArray[j]);し、動作しdirpませんNULL。
しかし、j == 1その行がdirp = opendir(RelativeArray[j]);失敗し、.dirpNULL
私は何を間違っていますか?
編集:
RelativeArray上記のコードの前にmalloc for を実行しているとします。