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

有很多方法。一种方法是递归遍历整个目录树,/您可以使用 DFS 或任何类似的图形遍历算法来做到这一点。另一种方法是使用findLinux 内置的程序来搜索你。

于 2013-04-11T17:10:01.247 回答