通知
すべてクリア
Topic starter
2004年6月5日 7:29 AM
XpproVC6MFCです。よろしくお願いします。
あるフォルダから、任意のファイルを列挙し(ここまではできれいます)、ファイル名
を変更したいのですが、
なにかよい方法はあるでしょうか?
xxxx.jpg→xxxx.mhtみたいな感じです。
system関数を用いてDOSコマンドのRENAMEを使うのがいい方法なのでしょうか?
よろしくお願いいたします。
2004年6月5日 9:07 AM
rename()
MSDNで「ファイル処理ルーチン」をキーワードに検索すると幸せになれるかも。
Win32APIなら、MoveFile()で同等のことができる。
2004年6月5日 9:12 AM
ファイル名の処理には、shlwapi.h、shlwapi.libを使えば、楽チン。
例えばこんな感じ。
#include <shlwapi.h>
#pragma comment(lib, shlwapi.lib)
// (snip)
TCHAR pszPath[_MAX_PATH] = _T(test.jpg);
TRACE( \n\told = [%s]\n, pszPath );
::PathRemoveExtension(pszPath);
::PathAddExtension(pszPath, _T(mht));
TRACE( \n\tnew = [%s]\n, pszPath );