##### Shinobi Library - ペリフェラル・記録デバイス関数

# buFindExecFile

実行ファイルの名前の取得

### 書式

> `Sint32 buFindExecFile( drive, fname )
> Sint32 drive
> char *fname
> `

### 引数

> drive | 拡張ソケットの番号
> fname | ファイル名を取得するポインタ

### 戻り値

> BUD_ERR_OK | 正常終了
> BUD_ERR_FILE_NOT_FOUND | 実行ファイルがない
> BUD_ERR_UNFORMAT | フォーマットされていない
> BUD_ERR_NO_DISK | メモリーカードがない
> BUD_ERR_BUSY | 何らかのTYPE_B関数が処理中である

### 解説

> 実行ファイルのファイル名を取得します。

> 拡張ソケットの番号driveには次の値が指定できます。

> 定義 | 意味
> BUD_DRIVE_A1 | ポートAの拡張ソケット1
> BUD_DRIVE_A2 | ポートAの拡張ソケット2
> BUD_DRIVE_B1 | ポートBの拡張ソケット1
> BUD_DRIVE_B2 | ポートBの拡張ソケット2
> BUD_DRIVE_C1 | ポートCの拡張ソケット1
> BUD_DRIVE_C2 | ポートCの拡張ソケット2
> BUD_DRIVE_D1 | ポートDの拡張ソケット1
> BUD_DRIVE_D2 | ポートDの拡張ソケット2

### 用例

>     ファイル名を格納する領域には最低13バイトの領域が必要です。
>     ファイルが存在しない場合、fname[0] = '\0'となります。
>     buFindFirstFile()、buFindNextFile()とはまったく独立に、
>     互いに影響なく使用できます。
>     Sint32 ret;
>     char fname[16];
>     /* Get name of executable file */
>     ret = buFindExecFile(BUD_DRIVE_A1, fname);
>     switch (ret) {
>     	case BUD_ERR_OK:
>     		/* Executable file found.
>     		The file name is stored in fname.
>     		*/
>     		printf("Executable file: %s\n", fname);
>     		break;
>     	case BUD_ERR_FILE_NOT_FOUND:
>     		printf("Executable file not found. \n");
>     		break;
>     	default:
>     		printf("Error \n");
>     		break;
>     }

buFindExecFile

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000