fnmerge,_wfnmerge

提供: RAD Studio
移動先: 案内検索

dir.h:インデックス への移動


ヘッダーファイル

dir.h

カテゴリ

ディレクトリ制御ルーチン

プロトタイプ

void fnmerge(char *path, const char *drive, const char *dir, const char *name, const char *ext);

void _wfnmerge(wchar_t *path, const wchar_t *drive, const wchar_t *dir, const wchar_t *name, const wchar_t *ext );

説明

構成要素からパスを作成します。

fnmerge は,パスの構成要素からパス名を作成します。新しいパス名は次のようになります。

X:\DIR\SUBDIR\NAME.EXT

この場合の引数は次のとおりです。



drive

=

X

dir

=

\\DIR\\SUBDIR\\

name

=

NAME

ext

=

.EXT



drive が空または NULL の場合,パス名にドライブは挿入されません。後ろにコロン(:)がない場合は,パス名にコロンが挿入されます。

dir が空または NULL の場合,パス名にディレクトリは挿入されません。後ろにバックスラッシュ(\ または /)がない場合は,パス名に円記号が挿入されます。

name が空または NULL の場合,パス名にファイル名は挿入されません。

ext が空または NULL の場合,パス名に拡張子は挿入されません。前にピリオド(.)がない場合は,パス名にピリオドが挿入されます。

fnmerge は,作成されるパス名に対して十分な容量が path にあると仮定します。作成されるパスの最大長は MAXPATH です。MAXPATH は,dir.h で定義されています。

fnmerge と fnsplit の機能は反対です。パスを fnsplit で分割した場合は,分割された構成要素を fnmerge でマージすると,パスが作成されます。

戻り値

なし。



 #include <string.h>
 #include <stdio.h>
 #include <dir.h>
 int main(void)
 {
    char s[MAXPATH];
    char drive[MAXDRIVE];
    char dir[MAXDIR];
    char file[MAXFILE];
    char ext[MAXEXT];
    getcwd(s,MAXPATH);              /* 現在の作業ディレクトリを取得します */
    strcat(s,"\\");                 /* 末尾の文字を追加します */
    fnsplit(s,drive,dir,file,ext);  /* 文字列を個別の要素に分解します */
    strcpy(file,"DATA");
    strcpy(ext,".TXT");
    fnmerge(s,drive,dir,file,ext);   /* 要素を 1 つの文字列にマージします */
    puts(s);                         /* 結果の文字列を表示する */
    return 0;
 }



移植性



POSIX Win32 ANSI C ANSI C++

fnmerge

+

_wfnmerge

NT のみ