C言語なう

iOS Objective C(XCODE)や、Windowsストアアプリ(Visual C++)なんか書いてると、ちょっとしたことで躓きます

ファイル名の拡張子を変えるとか?ファイル名の拡張子がなにかを調べるとか?

Delphiとかだったら、VCLがあるんで、それそのまま使いますが、

C/C++の場合は、XCODEや.Netやら、System::IOやら、Platform::Stringやら、扱いが全部違います。

で、それぞれに用意されていればいいのですが、なんとSystem::IOにはあるのに、Platformにはないとか?もう調べるだけで小一時間かかります。

ということで、しゃーないので、自分で書きました、5分かかりません。namespaceや、泥沼になりそうなライブラリには手を出さずに、ASCIZ文字列ですこーんと軽快に処理するのがよさそうです。

void my_WChgFileExt(wchar_t *FileName, wchar_t *ChgExt)
{
wchar_t *v;
v = wcsrchr(FileName, ‘.’);
*v = 0;
wcscat_s(FileName,MAX_PATH, ChgExt);
}

int my_WCmpiFileExt(wchar_t *FileName, wchar_t *ChgExt)
{
wchar_t *v;
v = wcsrchr(FileName, ‘.’);
return _wcsicmp(v, ChgExt);
}

Leave a Reply