_fullpath, _wfullpath
stdlib.h:インデックス への移動
ヘッダーファイル
stdlib.h
カテゴリ
ディレクトリ制御ルーチン
プロトタイプ
char * _fullpath(char *buffer, const char *path, int buflen);
wchar_t * _wfullpath(wchar_t *buffer, const wchar_t *path, int buflen);
説明
パス名を相対パスから絶対パスに変換します。
_fullpath は,path の相対パス名を絶対パス名に変換し,それを buffer が指す文字配列に格納します。buffer に格納できる最大文字数は,buflen です。buffer に絶対パス名を格納できるだけの十分な大きさがない場合,またはパスに無効なドライブ文字が含まれる場合,この関数は NULL を返します。
buffer が NULL の場合,_fullpath は,最大 _MAX_PATH 文字のバッファを割り当てます。このバッファが不要になったら,free を使って解放する必要があります。_MAX_PATH は,stdlib.h で定義されています。
戻り値
成功した場合,_fullpath 関数は,絶対パス名を格納するバッファへのポインタを返します。
失敗した場合は,NULL を返します。
例
#include <stdio.h>
#include <stdlib.h>
char buf[_MAX_PATH];
void main(int argc, char *argv[])
{
for ( ; argc; argv++, argc--)
{
if (_fullpath(buf, argv[0], _MAX_PATH) == NULL)
printf("Unable to obtain full path of %s\n",argv[0]);
else
printf("Full path of %s is %s\n",argv[0],buf);
}
}
移植性
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
_fullpath |
+ |
|||
_wfullpath |
NT のみ |