ReverseFind()を使用して \ 記号の検索の仕方

[戻る]
yu 2002/11/02(土) 02:44:38
yuと申します。
初歩的な内容かもしれませんが、質問させていただきます。

プログラムの実行ファイルが置かれているフォルダ内にINIファイルを作ろうしています。
そこで、過去ログ
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200107/01070051.txt
を参考にさせて頂いてReverseFind関数を用い、実行ファイルの絶対パスから、最後にあらわれ
る \ 記号を検索したいと考えています。

しかし、
path.ReverseFind( '\' );
のように記述しても「定数が 2 行目に続いています」とエラーになってしまいます。

この原因と対処法について教えて頂けないでしょうか。
よろしくお願いします。

yu 2002/11/02(土) 02:48:10
すいません。環境を書き忘れました。
VC++6.0 WIN2000 MFC使用です。

tib 2002/11/02(土) 02:53:13
path.ReverseFind( '\\' );

ではどうでしょう?

yu 2002/11/02(土) 03:09:57
tibさん、ありがとうございます。
無事、解決できました。

これは、\が特殊文字(エスケープ文字?)であることが原因なのでしょうか?
このへんを曖昧にしてきたままの自分が悪いのですか、ヒントだけいただきたいです。

MASATO [E-Mail] [HomePage] 2002/11/02(土) 12:31:34
> これは、\が特殊文字(エスケープ文字?)であることが原因なのでしょうか?
> このへんを曖昧にしてきたままの自分が悪いのですか、ヒントだけいただきたいです。
MSDNで「\\」を調べてみてください

また、ファイル名に"ソ"が含まれている場合、等は
ReverseFindで最後から調べると、誤動作するので気をつけたほうが良いです。

確実にディレクトリ名とファイル名を分割するには
splitpathあたりを使った方が良いです。

(参考リンク)
http://www.yks.ne.jp/~masato/room/diary/dev200003.html#20000311

yu 2002/11/02(土) 23:01:21
[[解決]]
MASATOさん、ありがとうございます。
アドバイスをもとに、自分でいろいろ調べてみます。明らかに勉強不足ですね....

みなさん、どうもありがとうございました。

古いスレッドには追加発言できません。