目次に戻る
一覧ページに戻る
CPartsSI_GetFullPath
2001/12/29 update.
Shadeの実行ファイルを起点とした絶対パスを取得します。

書式

  CP_BOOL CPartsSI_GetFullPath(char *lpFile,char *lpPath,int PathLen);


パラメータ


lpFile
Shadeの実行ファイルのある位置を起点とした相対的なファイルを指定します。
フォルダ名を「/」で区切ることにより、パスによるファイル指定を行うことができます (この操作は、Windows/Macintoshに限らず同じです)。
lpPath
lpFileのファイルを考慮して、lpFileの絶対パスを取得して格納します。
PathLenのサイズ以上のパスの場合は、処理に失敗します。
各フォルダのセパレータ(区切り)は「/」になります(Windows/Macintosh共に同様です)。
PathLen
lpPathに格納できる文字列の最大サイズを指定します。
戻り値
フルパスの取得に成功した場合は、CP_TRUEを返します。
取得に失敗した場合はCP_FALSEを返します。


解説


Shadeの実行ファイルを起点とした絶対パスを取得します。
Shadeフォルダ下の特定のファイルを、CPFileCtrlクラスより読み書きする、 CPImage::LoadImageより画像ファイルを読み込む、 という場合は、「CPartsSI_GetFullPath」によりいったん相対パスをフルパスに変換して使用してください。

なお、Macintoshの場合はカレントフォルダは移動しないので(常にShadeの実行ファイルがあるフォルダになる)、この関数では絶対パスを取得していません。





Shade実行ファイルのあるフォルダ下の[plugins]フォルダ内の[MyData.dat]をファイルより読み込む例です。


CPFileCtrl f;
char szPath[256];
char szBuff[256];

//相対パスをフルパスに変換
CPartsSI_GetFullPath("plugins/MyData.dat",szPath,255);

//ファイルのオープン
if(f.Open(szPath)){
    //ファイルより読み込み
    f.Read(szBuff,255);

    //ファイルを閉じる
    f.Close();
}



関連リンク


[CPartsSI.cpp]での関数一覧
CPFileCtrlクラス
CPImage::LoadImage