Пример: печать текущего каталога

Пример: печать текущего каталога

Программа 2.6 реализует очередную версию команды UNIX pwd. Размер буфера определяется значением параметра МАХ_РАТН, однако проверка ошибок все равно предусмотрена, чтобы проиллюстрировать работу функции GetCurrent-Directory.

Программа 2.6. pwd: печать текущего каталога 

/* Глава 2. pwd – вывод на печать содержимого рабочего каталога. */

#include "EvryThng.h"

#define DIRNAME_LEN MAX_PATH + 2

int _tmain(int argc, LPTSTR argv[]) {

 TCHAR pwdBuffer [DIRNAME_LEN];

 DWORD LenCurDir;

 LenCurDir = GetCurrentDirectory(DIRNAME_LEN, pwdBuffer);

 if (LenCurDir == 0) ReportError(_T("He удается получить путь."), 1, TRUE);

 if (LenCurDir > DIRNAME_LEN) ReportError(_T("Слишком длинный путь."), 2, FALSE);

 PrintMsg(GetStdHandle(STD_OUTPUT_HANDLE), pwdBuffer);

 return 0;

} 

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

5.9 СМЕНА ТЕКУЩЕГО И КОРНЕВОГО КАТАЛОГА

Из книги Архитектура операционной системы UNIX автора Бах Морис Дж

5.9 СМЕНА ТЕКУЩЕГО И КОРНЕВОГО КАТАЛОГА Когда система загружается впервые, нулевой процесс делает корневой каталог файловой системы текущим на время инициализации. Для индекса корневого каталога нулевой процесс выполняет алгоритм iget, сохраняет этот индекс в


Определение текущего компоновочного блока

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Определение текущего компоновочного блока Следующей задачей является определение компоновочного блока, который вы хотите построить. Это делается с помощью директивы .assembly. В простейшем случае компоновочный блок можно определить с помощью простого указания понятного


Сохранение текущего документа

Из книги Office 2007. Мультимедийный курс автора Мединов Олег

Сохранение текущего документа Для сохранения текущего документа в состав меню Кнопки «Office» включены команды Сохранить, которая активизируется также нажатием Shift+F12, и Сохранить как.Команду Сохранить применяют, как правило, для сохранения изменений в текущем документе


7.1. Определение текущего момента времени

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

7.1. Определение текущего момента времени Самый главный вопрос при манипуляциях с датами и временем: какой сегодня день и сколько сейчас времени? В Ruby при создании объекта класса Time без параметров устанавливаются текущие дата и время.t0 = Time.newСинонимом служитTime.now: t0 =


10.1.28. Получение и изменение текущего каталога

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

10.1.28. Получение и изменение текущего каталога Получить имя текущего каталога можно с помощью метода Dir.pwd (синоним Dir.getwd). Эти имена уже давно употребляются как сокращения от «print working directory» (печатать рабочий каталог) и «get working directory» (получить рабочий каталог). На платформе


10.1.29. Изменение текущего корня

Из книги Искусство программирования на языке сценариев командной оболочки автора Купер Мендель

10.1.29. Изменение текущего корня В большинстве систем UNIX можно изменить «представление» процесса о том, что такое корневой каталог /. Обычно это делается из соображений безопасности перед запуском небезопасной или непротестированной программы. Метод chroot делает указанный


14.1.3. Смена текущего каталога

Из книги Программирование для Linux. Профессиональный подход автора Митчелл Марк

14.1.3. Смена текущего каталога Предусмотрено два системных вызова, меняющих текущий каталог процесса: chdir() и fchdir().#include <unistd.h>int chdir(const char * pathname);int fchdir(int fd);Первый системный вызов получает имя каталога в качестве единственного аргумента; второй принимает файловый


Пример 12-5. copydir, копирование файлов из текущего каталога в другое место, с помощью xargs

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

Пример 12-5. copydir, копирование файлов из текущего каталога в другое место, с помощью xargs #!/bin/bash# Копирует все файлы из текущего каталога# в каталог, указанный в командной строке.if [ -z "$1" ] # Выход, если каталог назначения не задан.then echo "Порядок использования: `basename $0` directory-to-copy-to"


Пример 12-25. Исследование каталога /usr/X11R6/bin

Из книги автора

Пример 12-25. Исследование каталога /usr/X11R6/bin #!/bin/bash# Что находится в каталоге /usr/X11R6/bin?DIRECTORY="/usr/X11R6/bin"# Попробуйте также "/bin", "/usr/bin", "/usr/local/bin", и т.д.for file in $DIRECTORY/*do whatis `basename $file` # Вывод информации о файле.doneexit 0# Вывод этого сценария можно перенаправить в файл:# ./what.sh >>whatis.db# или


11.3.1. Отображение текущего времени

Из книги автора

11.3.1. Отображение текущего времени Модуль time.so (исходный текст приведен в листинге 11.6) генерирует простую страницу, где отображается текущее время на сервере. В функции module_generate() вызывается функция gettimeofday(), возвращающая значение текущего времени (см. раздел 8.7, "Функция


18.3.6. Проверка текущего каталога

Из книги автора

18.3.6. Проверка текущего каталога Некоторые сценарии, реализующие административные задачи, можно выполнять из корневого каталога. Если производится глобальное перемещение файлов или же изменяются права доступа к файлу, несложный тест позволяет уточнить, вовлекается ли в


28.2. Уточнение текущего уровня выполнения

Из книги автора

28.2. Уточнение текущего уровня выполнения В этой главе не рассматриваются вопросы системного администрирования, однако shell–программист должен знать не только принципы функционирования сценариев rc.scripts, но также принципы их совмещения с каталогами конфигурации уровня