Главная страница
Навигация по странице:

  • Прототип в

  • Возвращаемое

  • Переносимость

  • Назначение

  • Смотри также

  • Справочник по функциям С++. Подпрограммы классификации Подпрограммы преобразования


    Скачать 3.41 Mb.
    НазваниеПодпрограммы классификации Подпрограммы преобразования
    АнкорСправочник по функциям С++.doc
    Дата07.05.2018
    Размер3.41 Mb.
    Формат файлаdoc
    Имя файлаСправочник по функциям С++.doc
    ТипДокументы
    #18992
    КатегорияИнформатика. Вычислительная техника
    страница41 из 120
    1   ...   37   38   39   40   41   42   43   44   ...   120

    fnsplit


    -----------------------------------------------------------------
    Назначение Расщепляет полное имя файла на компоненты.
    Синтаксис #include

    void fnsplit(char *path, char *drive,

    char *dir, char *name,

    char *ext);
    Прототип в dir.h
    Замечания fnsplit берет полное имя файла в виде строки
    X:\DIR\SUBDIR\NAME.EXT
    и расщипляет его на четыре компоненты. Затем

    сохраняет эти компоненты в строках, указываемых

    параметрами drive, dir, name и ext. (Каждая

    компонента обязательна, но может быть и NULL.

    Это означает, что соответствующая компонента не

    будет сохранена).
    Максимальные размеры этих строк задаются конс-

    тантами MAXDRIVE, MAXDIR, MAXPATH, MAXNAME и

    MAXEXT (определяются в dir.h), и каждый размер

    включает место для символа конца строки (\0).
    Константа (максимум) строка

    --------- ---------- ------
    MAXPATH (80) path;

    MAXDRIVE (3) drive, включает двоеточие

    MAXDIR (66) dir, включает ведущий и

    заключительный слеши (\);

    MAXFILE (9) name;

    MAXEXT (5) ext, включает ведущую

    точку (.)
    fnsplit предполагает, что имеется достаточно

    места для сохранения каждой отличной от NULL

    компоненты.
    Когда fnsplit расщипляет path, она обрабатывает

    знаки препинания так:
    * drive содержит двоеточие (C:, A: и т.д.).
    * dir содержит ведущий и заключающий обратные

    слеши (\turboc\include\, \source\, и т.д.).
    * name содержит имя файла.
    * ext содержит точку, предшествующую расширению

    (.C, .exe, и т.д.).
    fnmerge и fnsplit взаимнообратные функции, если

    вы разъедините path посредством fnsplit, а за-

    тем соедините полученные компоненты с помощью

    fnmerge, то получите опять path.
    Возвращаемое fnsplit возвращает целое (получаемое из пяти

    значение флагов, определенных в dir.h), показывающее,

    какие из компонент полного имени присутствуют в

    path; эти флаги и компоненты, которые они

    представляют, следующие:
    EXTENSION - расширение

    FILENAME - имя файла

    DIRECTORY - каталог (и, возможно,

    подкаталоги)

    DRIVE - спецификация драйвера(см dir.h)

    WILDCARD - универсальные сопоставления (*

    или ?)
    Переносимость Уникальна для MS-DOS.
    Смотри также fnmerge
    Пример Смотри fnmerge

    -----------------------------------------------------------------

    fopen


    -----------------------------------------------------------------
    Назначение Открывает поток.
    Синтаксис #include

    FILE *fopen(const char *filename, char *type);
    Прототип в stdio.h
    Замечания fopen открывает файл с именем filename и возв-

    ращает укзатель, используемый для идентификации

    потока в последующих операциях.
    Тип строки type, используемый при каждом вызо-

    ве, может принимать одно из следующих значений:
    r Открыть только для чтения
    w Создать для записи
    a Добавление; открыть для записи в ко-

    нец файла или создать для записи,

    если файл не существует
    r+ Открыть существующий файл для изме-

    нения (запись и чтение)
    w+ Создать новый файл для изменения
    a+ Открыть для добавления; открыть (или

    создать, если файл не существует)

    для добавления в конец файла.
    Для задания того, что файл открыт или создан в

    текстовом режиме, вы можете добавить t к значе-

    нию type (rt, w+t, и т.д.); аналогично для за-

    дания двоичного режима вы должны добавить b к

    значению type (wb, a+b, и т.д.). fopen также

    допускает менять местами символы b, t и + в

    строке режима. Например, использование rt+ эк-

    вивалентно r+t.
    Если t или b в type не заданы - режим определя-

    ется значением глобальной переменной _fmode.

    Если _fmode установлена в O_BINARY, то файлы

    будут открыты в двоичном режиме. Если _fmode

    установлена в O_TEXT - файлы будут открыты в

    текстовом режиме. Эти константы определены в

    файле fcntl. h.
    Когда файл открыт для изменения - в результиру-

    ющий поток может быть произведен как ввод, так

    и вывод. Однако вывод не может сразу следовать

    за вводом без запроса fseek или rewind, как и

    ввод не может сразу следовать за выводом без

    запроса fseek или rewind, или ввода, который

    встречает конец файла.
    Возвращаемое При успешном завершении fopen возвращает

    значение указатель на вновь открытый поток. В случае

    ошибки - возвращает NULL.
    Переносимость fopen доступна в системах UNIX и совместима с

    ANSI Си. Она определена Керниганом и Ритчи.
    Смотри также creat, dup, fclose, fdopen, ferror, _fmode (пе-

    ременная), fread, freopen, open, setbuf,

    setmode.
    Пример

    #include
    main()

    {

    FILE *in, *out;
    if ((in = fopen("\\AUTOEXEC.BAT",

    "rt")) == NULL);

    {

    fprint(stderr, "Невозможно открыть файл"

    " ввода.\n");

    return(1);

    }
    if ((in = fopen("\\AUTOEXEC.BAК",

    "wt")) == NULL);

    {

    fprint(stderr, "Невозможно открыть файл"

    " вывода.\n");

    return(1);

    }

    while (!feof(in))

    fputs(fgetc(in), out);

    fclose(in);

    fclose(out);

    }

    -----------------------------------------------------------------
    1   ...   37   38   39   40   41   42   43   44   ...   120


    написать администратору сайта