私は 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]);
失敗し、.dirp
NULL
私は何を間違っていますか?
編集:
RelativeArray
上記のコードの前にmalloc for を実行しているとします。