2010-10-05 3 views
0

Я просто хочу, чтобы написать программу, которая принимает имя каталога в качестве аргументапрограмма для проверки имени каталога

  • Validate, что это на самом деле является каталогом
  • Получить список всех файлов в каталоге и распечатать его
+0

Звучит как домашнее задание! поэтому вы должны пометить его ... – volting

+0

Какую платформу вы используете? – nos

+2

Ответ будет другим для DOS, Linux (Mac, ... и моей системы холодильников, ...), и что вы используете в операционной системе? – pmg

ответ

1

Посмотрите на stat. Он предоставит вам необходимую информацию; все, что вам нужно сделать, это интерпретировать его.

Редактировать: Краткое описание.

#include <sys/types.h> 
#include <sys/stat.h> 
#include <unistd.h> 
#include <stdio.h> 

#define TRUE 1 
#define FALSE 0 

int is_dir(char *path) 
{ 
    struct stat dir_stats; 

    stat(path, &dir_stats); 
    if (S_ISDIR(dir_stats.st_mode)) 
     return TRUE; 
    return FALSE; 
} 

Для списка файлов в каталоге, используйте readdir.

+0

'stat' не является стандартным C, насколько я знаю. –

+0

@Jens: Правда. Это стандартный * nix, хотя, и vabz не указал, так что я предполагал. – nmichaels

+0

Извините, но не смог интерпретировать, как я могу использовать Stat для решения моего вопроса. вы можете немного разобраться. _Мой вопрос прост. Возьмите любое имя. Подтвердите, если это каталог или нет. Если yeh распечатает все имена файлов, содержащие его .__ – vabz

1

Каталог слов даже не отображается в стандарте C. Это концепция ОС.

Смежные вопросы