PathRemoveFileSpec

引数の文字列内に「\」があれば最後の「\」以降を取り除きます。

書式

BOOL PathRemoveFileSpec(
    LPTSTR pszPath
);

【インクルードファイル】

shlwapi.h

【必要追加ライブラリ】

shlwapi.lib

戻り値

0以外 何らかの文字列を削除した
0 それ以外

引数

pszPath

ファイル名を取り去るべきパスを含む最大長MAX_PATHのNULL文字で終了する文字列へのポインタ。

使用例

〈サンプルプログラム〉

#include <stdio.h>
#include <shlwapi.h>

int main()
{
    char buffer_1[ ] = "C:\\TEST\\sample.txt"; 
    BOOL ret = 0;

    printf("引数に設定した文字列: %s\n", buffer_1);
    ret = PathRemoveFileSpec(buffer_1);
    printf("変換後の文字列      : %s\n", buffer_1);
    printf("戻り値              : %d\n\n", ret);

    char buffer_2[ ] = "C:\\TEST\\"; 

    printf("引数に設定した文字列: %s\n", buffer_2);
    ret = PathRemoveFileSpec(buffer_2);
    printf("変換後の文字列      : %s\n", buffer_2);
    printf("戻り値              : %d\n\n", ret);

    printf("引数に設定した文字列: %s\n", buffer_2);
    ret = PathRemoveFileSpec(buffer_2);
    printf("変換後の文字列      : %s\n", buffer_2);
    printf("戻り値              : %d\n\n", ret);

    char buffer_3[ ] = "sample.txt"; 

    printf("引数に設定した文字列: %s\n", buffer_3);
    ret = PathRemoveFileSpec(buffer_3);
    printf("変換後の文字列      : %s\n", buffer_3);
    printf("戻り値              : %d\n\n", ret);

    char buffer_4[ ] = "C:"; 

    printf("引数に設定した文字列: %s\n", buffer_4);
    ret = PathRemoveFileSpec(buffer_4);
    printf("変換後の文字列      : %s\n", buffer_4);
    printf("戻り値              : %d\n\n", ret);

    return 0;
}

〈出力〉

引数に設定した文字列: C:\TEST\sample.txt
変換後の文字列      : C:\TEST
戻り値              : 1

引数に設定した文字列: C:\TEST\
変換後の文字列      : C:\TEST
戻り値              : 1

引数に設定した文字列: C:\TEST
変換後の文字列      : C:\
戻り値              : 1

引数に設定した文字列: sample.txt
変換後の文字列      :
戻り値              : 1

引数に設定した文字列: C:
変換後の文字列      : C:
戻り値              : 0

対応情報

  DLL Version:shlwapi.dll version 4.71 以上。
  Windows NT/2000:Windows NT 4.0/2000 Internet Explorer 4.0以降
  Windows 95/98:Windows 95/98 Internet Explorer 4.0以降