如何使用 execl 或 execve 仅在 C 中显示扩展名为“.txt”的文件?
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
int main(int argc, char **argv) {
( execl("/bin/ls","*.txt",NULL);
return 0;
}
如何使用 execl 或 execve 仅在 C 中显示扩展名为“.txt”的文件?
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
int main(int argc, char **argv) {
( execl("/bin/ls","*.txt",NULL);
return 0;
}
您正在寻找glob(3)
:
#include <glob.h>
extern char **environ;
int main(int argc, char *argv[]) {
glob_t g={0};
g.gl_offs = 1; /* reserve slot for "/bin/ls" */
glob("*.txt",GLOB_DOOFFS,0,&g);
g.gl_pathv[0] = "/bin/ls";
execve(*g.gl_pathv,g.gl_pathv,environ);
}