管理文件和文件夹C.

时间:2014-07-15 23:52:16

标签: c directory

我需要在C程序中使用目录...目录将是一个参数,我需要检查文件夹中的所有文件,如果其中一个文件是文件夹,我需要访问它,也,我需要回到目录中,即“。”和“..”。

我正在使用库<dirent.h>,现在我只能显示我正在运行程序的文件夹中的所有内容(即program.c,folder1等)。如果我使用“桌面”之类的东西作为参数,它将显示错误说明:

  

无法打开目录:没有这样的文件或目录。

你能告诉我怎么做吗?

#include <dirent.h>
#include <stdio.h>

int main(int argc, char *argv[]){
    DIR *dp;
    struct dirent *ep;     

    dp = opendir (argv[1]);
    if (dp != NULL){
        while (ep = readdir (dp))
        puts (ep->d_name);

        (void) closedir (dp);

        perror ("Couldn't open the directory");
    }
    return 0;
}

示例:

xx@xfx  gcc e.c -o hola
xx@xfx ~/Desktop $ ./hola ./

hola
10475718_921955664486299_2309306989404354546_n.jpg
practica 4.tar.gz
h.c
pro
two-type-of-programmers-funny-jokes.png
as.c
a.c
prac 4
hol
Pr.hs
ej.c
du.c
.
tar
thats-racist-gif-1.gif
pract.
pract.c
e.c
prac.c
pract.c
..
Lab files #2
ejer1.c
music.pls
Lab files  #4
ho2.c
dir2
ejero1.c
t
Mate
Couldn't open the directory: Success

0 个答案:

没有答案