2013-03-27 2 views
-2

Поэтому мне поручено создать оболочку. У меня есть функции, работающие правильно (например, dir, clear, quit и т. Д.), Но у меня есть вопрос о функции dir. В настоящее время «дир» отлично работает. В нем перечислены файлы каталога, в котором находится программа. Что я хочу сделать, это перечислить каталог другого места. Есть ли способ?Список целевого каталога в C

Мне еще нужно создать команду каталога изменений. Мне было интересно, может ли моя проблема решить это. Любая помощь приветствуется.

Боковое примечание. В инструкциях указано, что «мне нужно будет предоставить некоторую синтаксическую разборку командной строки для извлечения целевого каталога для распечатки». Я понятия не имею, что это такое, но, может быть, кто-то может просветить меня.

+1

'DIR * d = opendir ("/any/path/you/want ");' – 2013-03-27 19:28:45

+0

Nice. Мне нравится, как вы это указали. Благодарю. – blutuu

+0

На самом деле это не так, как работает оболочка, и вся оболочка выводит stdout и stderr из запущенных процессов. Единственная «команда» - это cd, которая изменяет рабочий каталог для запуска программ. Любая другая «команда» на самом деле является просто программой, обычно добавленной в PATH, поэтому ее можно вызывать из любого места. Конечно, вы запускаете программы, набирая там имя файла, за которым следуют любые аргументы. – w4etwetewtwet

ответ

0

Посмотрите примерный код GNU Simple Directory Lister, в котором используется opendir().

Для разбора аргументов командной строки, посмотрите на свой main() функции:

int main(int argc, char* argv[]) 
{ 
    ... 
    return 0; 
} 

Используйте argv[] указатель и argc целое значение, чтобы определить количество и характер указателей аргументов.

+0

О, хорошо. Мне было интересно, нужно ли вообще использовать аргументы. Благодарю. – blutuu

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