Programming Windows Maniacs - プログラミング ウィンドウズ マニアックス ■ ご利用に際して ■ 更新履歴 ■ お問い合わせ ■ このホームページについて  
ホーム >> 基本 >> パスの最後にバックスラッシュ("\")を追加するには

パスの最後にバックスラッシュ("\")を追加するには

  すでにパスの最後にバックスラッシュ"\"があるかどうかを確認しないでも追加するには、Shellwapi(シェルワッピ)のPathAddBackslash () APIがオススメです。
  ANSIでも安全にバックスラッシュ"\"を間違いなく追加してくれます。Shellwapiは、Windows 98以降で実行できます。

  ※ shlwapi.hのインクルード、shlwapi.libのリンクが必要です。

■■■ addbackslash プロジェクト
main.cpp
#include <windows.h>
#include <tchar.h>
#include <shlwapi.h>

#include <string>

std::basic_string < _TCHAR > AddBackslash () ( const _TCHAR *pszPath )
{
    ASSERT ( NULL != pszPath );

    // '\\'と'\0'を追加する分も必要
    _TCHAR *pszBuf = new ( std::nothrow ) _TCHAR[ lstrlen ( pszPath ) + 2 ];

    lstrcpy ( pszBuf, pszPath );
    PathAddBackslash ( pszBuf );

    std::basic_string < _TCHAR > strResult;
    strResult = pszBuf;

    delete[] pszBuf;

    return strResult;
}

int WINAPI _tWinMain ( HINSTANCE hThisInstance,
    HINSTANCE,
    _TCHAR *,
    int )
{
    const _TCHAR cszPath[] = _TEXT ( "c:\\表\\表表表" );
    std::basic_string < _TCHAR > strAddedBackslash;
    strAddedBackslash = AddBackslash ( cszPath );

    MessageBox ( NULL,
        strAddedBackslash.c_str (),
        _TEXT ( "確認" ),
        MB_OK );

    return 0;
}
  ■ ご利用に際して ■ 更新履歴 ■ お問い合わせ ■ このホームページについて Copyright © 2014 A.Morita