0

クライアントがファイル名を指定してサーバーにファイルを要求すると、サーバーはすべてのディレクトリでそのファイルをチェックし、ファイルが存在する場合はそれを送信し、存在しない場合はエラーメッセージを送信する、FTP を使用して C プログラムを作成する割り当てが与えられました。 、「ファイルが見つかりません!」と言います。送信されます。

find/whereis コマンドを使用して、これらの関数によって返された結果をプログラムで利用するのに苦労しています。自分のプログラムで使用する Linux システム コマンドの使用方法を知りたいです。

現在、サーバーの現在のディレクトリのみをチェックしています

int fd = open(file,O_RDONLY,0);
printf("opening file %s in current directory\n", filename);
if(fd == -1) {
    printf("error: file not found!\n");
    send_string(newfd, "file not found!");
}

特定のファイルのすべてのディレクトリを確認する方法を教えていただけると助かります。

4

1 に答える 1

0

たくさんの方法があります。1 つの方法は、次から始まるディレクトリのツリー全体を再帰的に調べる/ことです。これは、DFS または同様のグラフ トラバース アルゴリズムを使用して行うことができます。もう 1 つの方法は、findLinux に組み込まれているプログラムを使用して検索を行うことです。

于 2013-04-11T17:10:01.247 に答える