0

ディレクトリ間を移動するスクリプトを C で作成しました。プログラムの目的は、最初のフォルダーの親を除くすべてのフォルダーにアクセスすることです。たとえば、ポイント C://Program Files から開始した場合、C:// に移動するべきではありません。

ただし、Program Files フォルダーでは、すべてのフォルダーがこの if 関数に受け入れられます。

if (!S_ISDIR(buffer.st_mode) && (stat(dir->d_name, &buffer) != -1)

しかし、実際にはファイルがフォルダーであることは事実です。

フォルダーがフォルダーの場合、この関数に入ります。

 else if (S_ISDIR(buffer.st_mode)) {
 if (strcmp(dir->d_name,".") != 0 && strcmp(dir->d_name, "..") != 0)

関数を再帰的にもう一度調べます。

エラーが表示されますか?

4

0 に答える 0