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;
}
4

1 に答える 1

1

あなたが探している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);

}
于 2012-10-07T08:23:40.427 に答える