我正在编写一个像shell一样运行的C程序。它的作用是当用户给它一个路径,例如/bin
时,它需要能够检查给定的可执行程序是否在该路径上,如果是,则执行该程序。从another question开始,我知道我可以使用stat()函数检查文件是否存在:
int file_exist (char *filename){
struct stat buffer;
return (stat (filename, &buffer) == 0);
}
并将其称为如下:
if (file_exist ("myfile.txt")) {
printf ("It exists\n");
}
但我有一个路径变量:
char* path = "/bin";
如何在此路径上搜索可执行程序,以便稍后尝试执行该程序?