2015-01-01 5 views
0

Я начинаю, и я делаю код о получении каталога файла, но у меня есть то, что я не понимаю.opendir() in C Программирование

Что значение «./» в DS = opendir ("./");

Я искал много сайтов о программировании C, но ничего не дал мне хорошее объяснение. Я должен скоро представить свой код, заставив меня объяснить каждую строку моего кода. Пожалуйста, помогите мне. Благодаря!

+0

[Этот учебник] (http://www.cpp-home.com/tutorials/107_6.htm) может быть полезен. –

ответ

1

./ - относительный путь относительно current working directory вашего процесса.

При вычислении рабочий каталог процесса представляет собой каталог иерархической файловой системы, если таковой имеется, динамически связан с каждым процессом. Когда процесс относится к файлу с использованием простого имени файла или относительного пути (в отличие от файла, указанного полным путем из корневого каталога), ссылка интерпретируется относительно текущего рабочего каталога процесса.

Так предположим, что рабочий каталог вашего процесса /foo, когда вы открываете ./ с opendir, вы на самом деле открытия /foo/./, равный /foo.

+0

Не могли бы вы объяснить это более простым способом? Я все еще новичок в программировании. Я знаю, что 'DS = opendir (" ./ ");' откроет все файлы, включенные в папку, где находится мой код. Я не понимаю, как объяснить начинающим программистам, таким как я, и понять их. – AmperSand

+0

Это не откроет все файлы. Он откроет каталог. Как вы можете читать данные из открытого файла, вы можете читать из открытого каталога. Это дает список файлов внутри этого каталога. – fuz

+0

'opendir' открывает этот каталог, а не файлы внутри него, как было сказано в предыдущем комментарии. Также, если вы хотите «получить каталог файла», вы должны знать, где находится файл, а не абсолютный путь или относительный путь. – D3Hunter