ファイル名として禁止されている文字を置き換える

例えば「現在アクセスしているホームページへのショートカットを自動的にお気に入りに登録するアプリケーションを作りたい」などの場合、ホームページのタイトルをそのままファイル名として使うと、タイトル内にファイル名として禁止されている文字が入っている場合に誤動作する危険がある。
このようなときにファイル名に使いたい文字列をこの関数に通すと自動的に禁止された文字列が全角文字に置換されるので誤動作の可能性を減らすことができる。

依存環境:ATL
#include "atlstr.h"

//
//ファイル名として禁止されている文字を変換
//
void	TranslateToSafeFileName(CAtlString& strSafeFileName)
{
	//禁止半角を全角文字に変換
	strSafeFileName.Replace(_T("\\"),_T("¥"));
	strSafeFileName.Replace(_T("/"),_T("/"));
	strSafeFileName.Replace(_T("*"),_T("*"));
	strSafeFileName.Replace(_T(":"),_T(":"));
	strSafeFileName.Replace(_T("?"),_T("?"));
	strSafeFileName.Replace(_T("<"),_T("<"));
	strSafeFileName.Replace(_T(">"),_T(">"));
	strSafeFileName.Replace(_T("\""),_T("”"));
	strSafeFileName.Replace(_T("|"),_T("|"));
}



void	Test(void)
{
	CAtlString	strFile;

	strFile = _T("Googleへのショートカット (http://www.google.co.jp/)");
	TranslateToSafeFileName(strFile);

	::MessageBox(NULL,strFile,_T(""),MB_OK);
}

プロジェクトファイルをダウンロード


カテゴリー「ファイル・フォルダ」 のエントリー