Показаны сообщения с ярлыком директория. Показать все сообщения
Показаны сообщения с ярлыком директория. Показать все сообщения

воскресенье, 9 мая 2010 г.

Как создать директорию

В Windows не забудьте включить заголовок
#include
Используйте функцию
CreateDirectory (char *DirName, SECURITY_ATTRIBUTES Attribs);

В Linux (вероятно, в iPhone OS и Mac OS, так как они Unix-подобные системы)
#include
Используйте функцию
mkdir (const char *path, mode_t mode);

суббота, 8 мая 2010 г.

Как получить в C++ список всех файлов из текущего каталога (в Windows, UNIX, MS-DOS)

Материал взят из http://bytes.com/topic/c/answers/545614-list-files-current-directory

Я проверял для Windows - отлично работает :)


Below is a directory lister for Windows, Unix/POSIX and MS-DOS.

#include

#ifdef _WIN32

/* Compiling for Windows */

#include

int main(void)
{
WIN32_FIND_DATA f;
HANDLE h = FindFirstFile("./*", &f);
if(h != INVALID_HANDLE_VALUE)
{
do
{
puts(f.cFileName);
} while(FindNextFile(h, &f));
}
else
{
fprintf(stderr, "Error opening directory\n");
}
return 0;
}

#else
#ifdef __unix__

/* Compiling for UNIX / POSIX */

#include
#include

int main(void)
{
DIR *dir = opendir(".");
if(dir)
{
struct dirent *ent;
while((ent = readdir(dir)) != NULL)
{
puts(ent->d_name);
}
}
else
{
fprintf(stderr, "Error opening directory\n");
}
return 0;
}

#else
#ifdef __TURBOC__

/* Compiling for MS-DOS */

#include

int main(void)
{
struct ffblk ffblk;
if(findfirst("*.*", &ffblk, 0) == 0)
{
do
{
puts(ffblk.ff_name);
} while(findnext(&ffblk) == 0);
}
else
{
fprintf(stderr, "Error opening directory\n");
}
return 0;
}

#else
#error Unsupported Implementation
#endif
#endif
#endif

пятница, 30 апреля 2010 г.

Как в Mac OS снять блокировку/защиту из всех файлов выбранной папки

Работая в коллективном проекте, часто приходится получать исходники от коллег. Нередко эти исходники защищены и поэтому их не удаётся удалить в случае необходимости. Снимать блокировку с помощью мыши с каждого из нескольких сотен исходников очень утомительно.

Для этого можете запустить Terminal (командную строку), зайти в папку проекта (используя команду cd).

После этого вводите команды:

chflags -R nouchg *
chflags -R nouchg */*
chflags -R nouchg */*/*
chflags -R nouchg */*/*/*
chflags -R nouchg */*/*/*/*
и так далее

Делайте так до тех пор, пока Terminal вам не сообщит, что таких файлов или папок больше не обнаружено (то есть когда глубина вложенных директорий достигнет самых последних закоулков). Это будет похоже вот на что:
chflags: */*/*/*/*/*/*/*/*: No such file or directory

ЕСЛИ КТО-ТО ЗНАЕТ, КАК МОЖНО ЗАМЕНИТЬ ЭТО ПРОСТЫМ SHELL-СКРИПТОМ, ПОЖАЛУЙСТА ПОДЕЛИТЕСЬ ОПЫТОМ.

Постоянные читатели