【C++】STL(Standard Template Library)相談室 9at TECH【C++】STL(Standard Template Library)相談室 9 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト100:デフォルトの名無しさん 08/03/03 16:27:08 >>97 std::stringにファイル名が入ってるなら そのファイル名が入ってるstd::string型のオブジェクト名 がfilenameという名前とすると char *fname = filename.c_str(); てな感じでchar *型で受け取り #include <cstring>をインクルードしておき char *piliod = strrchr(fname,'.'); で拡張子の手前のピリオド位置を取得し piliod++;ってすれば拡張子名だけchar *型で取得できる これらの操作をwchar_t用の関数に変更すれば wchar_t *型で拡張子名を取得できる まぁ、STL板だしstd::wstringを操作するとしたなら 素直にクラスのfind_last_of使って sizetype pos = filename.find_last_of(L'.')てな感じで けつからピリオドの位置見つけてpos++;して std::wstring fextenshion =filename.substr(pos)とすれば 拡張子だけ手に入る 101:デフォルトの名無しさん 08/03/03 18:54:54 が、特殊ケースを想定するとそれだけでは済まないので、 ちまちま書くよりc_strでランタイムやAPIの既存のルーチンに任せるのが定番。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch