[C++][MFC] C++(VC++)でカレントディレクトリの1つ上のパスを取得する

概要

C++でカレントディレクトリを取得して、その上の親ディレクトリパスを取得する。
「..¥」を末尾に付与して1つ上のパスに移動する方法は
私の場合、別処理で「.」から拡張子位置を判断する処理があったため使えなかった。

コード

char buf[MAX_PATH];
// カレントディレクトリを取得
GetCurrentDirectoryA(MAX_PATH, buf);

// 後ろから¥を探して見つかった位置に0を入れる
*(strrchar(buf, '¥¥') + 1) = 0;

この場合、「c:¥hoge¥fuga¥」となる。
「c:¥hoge¥fuga」としたい場合は以下にする。

*(strrchar(buf, '¥¥')) = 0;



Effective C++ 第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTI)

Effective C++ 第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTI)