Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 3 апреля!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Слушай, дружище, зачем так мучиться с этим языком С++, ты ведь не Билл Гейтс. Возьми тот же Python и программируй, он кроссплатформенный, под Windows тоже работает. Я сам давно заметил: то что на Си пишешь в страницу кода, на питоне решается в одну-две строки. При том, питон намного проще, я его сам недавно изучил по видеокурсу вот этому. Кстати, автор отлично там объясняет. Буквально день-два и уже будешь писать на нём, чего не скажешь про сложный С++.

fnsplit

 
 Функция            Разделяет полное имя файла на компоненты.
 
 
 
 Синтаксис          #include <dir.h>
 
                    int fnsplit(char * path, char * drive,
 
                    char * dir, char * name, char * ext);
 
 
 
 Файл, содержащий   dir.h
 
 прототип
 
 
 
 Описание           Функция fnsplit берет в качестве входного аргумента
 
                    полное  имя  файла (то есть маршрут доступа path) в
 
                    форме :
 
 
 
                    X:\DIR\SUBDIR\NAME.EXT
 
 
 
                    и делит  его  на  4  части,  которые  запоминает  в
 
                    символьных строках,  адресными указателями  которых
 
                    являются:   drive,   dir,  name,  ext.  (Каждый  из
 
                    компонентов  может  получить  значение  NULL,   что
 
                    означает,  что данный компонент был выделен,  но не
 
                    сохранен).
 
 
 
                    Максимальный размер  для  данных  символьных  строк
 
                    задается  константами  MAXDRIVE,  MAXDIR,  MAXPATH,
 
                    MAXNAME,  MAXEXT  (определяемыми  в  файле  dir.h),
 
                    причем  каждая  длина  включает  в  себя  место для
 
                    позиции нулевого байта.
 
 
 
  ----------------------------------------------------------------------
 
  Константа          Максимальная            Строка
 
                       длина
 
  ----------------------------------------------------------------------
 
  MAXPATH                (80)             path;
 
  MAXDRIVE               (3)              drive; включая двоеточие (:);
 
  MAXDIR                 (66)             dir; включая лидирующий и
 
                                          хвостовой знак (\);
 
  MAXFILE                (9)              name;
 
  MAXEXT                 (5)              ext; включая ведущую точку(.)
 
  ----------------------------------------------------------------------
 
 
 
                    Функция fnsplit  подразумевает,  что  для  хранения
 
                    каждого   компонента   достаточно   места   (  если
 
                    компонент имеет значение, отличное от NULL).
 
 
 
                    При расщеплении  полного  имени   файла   (маршрута
 
                    доступа)  на  части  функция  fnsplit  воспринимает
 
                    символы пунктуации следующим образом:
 
 
 
                    - Компонент     drive     сохраняет      двоеточие,
 
                      присоединенное к спецификации дисковода (C:, A: и
 
                      т.д).
 
 
 
                    - Компонент dir сохраняет ведущие и хвостовые знаки
 
                      \ (\tc\include\, \source\, и т.д).
 
 
 
                    - Компонент name включает имя файла.
 
 
 
                    - Компонент ext сохраняет точку, предшествующую
 
                      расширению имени файла (.c, .exe, и т.д.).
 
 
 
                    Функции fnmerge и fnsplit взаимообратны.  Если вы с
 
                    помощью  функции fnsplit разделите на части маршрут
 
                    доступа path, а затем сольете полученные компоненты
 
                    с  помощью  функции  fnmerge,  то вы снова получите
 
                    маршрут доступа path.
 
 
 
 Возвращаемое       Функция fnsplit возвращает целое число (составлен-
 
 значение           ное из 5-ти флагов, описанных в файле dir.h), ко-
 
                    торое показывает,  какие компоненты  полного  имени
 
                    файла присутствуют в path;  далее перечислены флаги
 
                    и компоненты, которые они обозначают:
 
 
 
                    EXTENSION - расширение имени файла;
 
                    FILENAME  - имя файла;
 
                    DIRECTORY - каталог (и возможно подкаталоги);
 
                    DRIVE     - спецификация дисковода (смотрите
 
                                файл dir.h);
 
                    WILDCARD  - шаблоны (* или?).
 
 
 
 Переносимость      Функция работает только в системе DOS.
 
 
 
 Смотрите также     fnmerge.
 
 
 
 Пример:
 
 
 
 #include<string.h>
 
 #include<stdio.h>
 
 #include <dir.h>
 
 
 
 int main(void)
 
 {
 
     char drive[MAXDRIVE];
 
     char dir[MAXDIR];
 
     char file[MAXFILE];
 
     char ext[MAXEXT];
 
     char *s;
 
     int flag;
 
       s=getenv("COMSPEC");
 
       flag = fnsplit(s,drive,dir,name,ext);
 
       printf("Командный процессор :");
 
             if (flag & DRIVE)
 
               printf("\tдисковод: %s\n",drive);
 
             if (flag & DIRECTORY)
 
               printf("\tдиректория: %s\n",dir);
 
             if (flag & FILENAME)
 
               printf("\tимя: %s\n",name);
 
             if (flag & EXTENSION)
 
               printf("\tрасширение: %s\n",ext);
 
             return 0;
 
 }

<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS