fnmerge,_wfnmerge
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 のみ |