Saerchpath(6) ってみた

SearchPath 関数はその名の通り、指定されたファイルを検索する関数だよっ。
MSDNリファレンス見ても、どーすりゃいいのか分からなかったので書いてみる。
まずはシグネチャ、プロトタイプ宣言を見てみやう:

DWORD SearchPath(
    LPCTSTR  lpPath,
    LPCTSTR  lpFileName,
    LPCTSTR  lpExtension,
    DWORD    nBufferLength,
    LPTSTR   lpBuffer,
    LPTSTR*  lpFilePart
);

lpPath には検索するフォルダを、lpFileName にはファイル名、
lpExtension には拡張子を入れるようだね。
でもここには NULL をいれてもいいよ。lpFileName に拡張子が付いてるなら、ね。
次の… うん、めんどくさっ。
まあ、書いてみりゃわかるか〜ってことで書いてみた。

#include <stdio.h>
#include <tchar.h>
#include <windows.h>

int main(int argc, char* argv[])
{
    if ( argc == 1 ) {
        printf( "ひきす〜ちょうだいっ!" );
        return -1;
    }

    _TCHAR  find_filename_buffer[MAX_PATH];
    _TCHAR* file_part;

    int hr = SeaarchPath( argv[1],
                          argv[2],
                          NULL,
                          MAX_PATH,
                          find_filename_buffer,
                          &file_part
                        );
    if ( hr != 0 ) {
        printf( "%s: %s\n", find_filename_buffer, file_part );
    }
}