fnmerge

 Функция            Создает новое имя файла из отдельных частей.

 Синтаксис          #include 
                    void fnmerge(char * path, const char * drive,
                    const char * dir, const char * name,
                    const char * ext);

 Файл, содержащий   dir.h
 прототип

 Описание           Функция fnmerge создает имя файла из его компонен-
                    тов. Новое имя файла, то есть его полный маршрут
                    доступа, строится следующим образом:

                    X:\DIR\SUBDIR\NAME.EXT   , где

                    X - спецификация устройства;

                    \DIR\SUBDIR\ - директория;

                    NAME - имя;

                    .EXT - расширение

                    fnmerge предполагает, что для запоминания постро-
                    енного имени маршрута доступа достаточно места.
                    Максимальная длина маршрута доступа определяется
                    константой MAXPATH, определенной в dir.h.

                    Две вышеописанные функции взаимообратны. Если вы
                    с помощью функции fnsplit разделите на части мар-
                    шрут доступа path, а затем сольете полученные
                    компоненты с помощью функции fnmerge, то вы снова
                    получите маршрут доступа path.

 Возвращаемое       Нет.
 значение

 Переносимость      Функция работает только в системе DOS.

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

 Пример:

 #include
 #include
 #include 

 int main(void)
 {
     char drive[MAXDRIVE];
     char dir[MAXDIR];
     char file[MAXFILE];
     char ext[MAXEXT];
     char s[MAXPATH];
     int flag;
          for (;;) {
           printf("> ");
           if (!gets(s)) break;
             flag = fnsplit(s,drive,dir,file,ext);
             printf(" drive: %s, dir: %s, file: %s, ext: %s, ",
                      drive, dir, file, ext);
             printf("flags: ");
             if (flag & DRIVE)
               printf(":");
             if (flag & DIRECTORY)
               printf("d");
             if (flag & FILENAME)
               printf("f");
             if (flag & EXTENSION)
               printf("e");
               printf("\n");
             fnmerge(t,drive,dir,file,ext);
          if (strcmp(t,s) != 0)        /* shouldn't happen! */
             printf(" --> strings are different!");
          }
       }

 Вывод:
       > C:\TURBOC\FN.C
         drive: C:, dir: \TURBOC\, file: FN, ext: .C,flags: :dfe
       > FILE:C
         drive: , dir: , file: FILE, ext: .C, flags: fe
       > \TURBOC\SUBDIR\NOEXT.
        drive: , dir: \TURBOC\SUBDIR\, file: NOEXT, ext: ., flags: dfe
       > C:MYFILE
         drive: C:, dir: , file: MYFILE, ext: , flags: :f
       >  z