PathAddExtensionA 関数 (shlwapi.h)
パス文字列にファイル名拡張子を追加します。
構文
BOOL PathAddExtensionA(
[in, out] LPSTR pszPath,
[in, optional] LPCSTR pszExt
);
パラメーター
[in, out] pszPath
種類: LPTSTR
ファイル名拡張子が追加される null で終わる文字列を含むバッファーへのポインター。 返される文字列を保持するのに十分な大きさになるように、このバッファーのサイズを MAX_PATH に設定する必要があります。
[in, optional] pszExt
型: LPCTSTR
ファイル名拡張子を含む null で終わる文字列へのポインター。 この値は NULL にすることができます。
戻り値
種類: BOOL
拡張機能が追加された場合は TRUE 、それ以外の場合は FALSE を 返します。
解説
ファイル名拡張子が既に存在する場合、拡張子は追加されません。 pszPath が NULL 文字列を指している場合、結果はファイル名拡張子のみになります。 pszExtension が NULL 文字列を指している場合は、".exe" 拡張子が追加されます。
例
#include <windows.h>
#include <iostream.h>
#include "Shlwapi.h"
void main( void )
{
// String for path name without file name extension.
char buffer_1[MAX_PATH] = "file";
char *lpStr1;
lpStr1 = buffer_1;
// String for path name with file name extension.
char buffer_2[ ] = "file.doc";
char *lpStr2;
lpStr2 = buffer_2;
// String for extension name.
char F_Ext[MAX_PATH] = ".txt";
char *lpStr3;
lpStr3 = F_Ext;
// Null string as path.
char N_String[MAX_PATH] = "\0";
char *lpStr4;
lpStr4 = N_String;
// Path 1 without the file name extension.
cout << "The original path string 1 is " << lpStr1 << endl;
int ret_1 = PathAddExtension(lpStr1,lpStr3);
cout << "The modified path string 1 is " << lpStr1 << endl;
// Path 2 with the file name extension already there.
cout << "The original path string 2 is " << lpStr2 << endl;
int ret_2 = PathAddExtension(lpStr2,lpStr3);
cout << "The modified path string 2 is " << lpStr2<< endl;
// Path 3 null string as a path.
int ret_3 = PathAddExtension(lpStr4,lpStr3);
cout << "The return value is " << ret_3<< endl;
cout << "The modified path on a null string is " << lpStr4<< endl;
}
OUTPUT:
-----------------------
The original path string 1 is file
The modified path string 1 is file.txt
The original path string 2 is file.doc
The modified path string 2 is file.doc
The return value is 1
The modified path on a null string is .txt
The return value is 1
Note
shlwapi.h ヘッダーは PathAddExtension をエイリアスとして定義します。これにより、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンが自動的に選択されます。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional、Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | shlwapi.h |
Library | Shlwapi.lib |
[DLL] | Shlwapi.dll (バージョン 4.71 以降) |