はじめまして。
strrchr(str,'\\');
こうやって\を検索したとき、strに能の文字が含まれていると検索に失敗してしまいます。
こういう場合、どうすれば正しく\だけを検索できるようになるのでしょうか?
よろしくお願いします。
_tcsrchrだとどうでしょうか?
ありがとうございます。
持っている本に載っていなかったので、検索した結果以下のようにしてうまくいきました。
#include <stdio.h>
#include <tchar.h>
void main(void){
char str[] = あいう\\機能えお;
char *tmp = NULL;
tmp = _tcsrchr(str,'\\');
printf(%s\n,tmp);
}
ところで疑問なのですが、このような関数はどこを調べれば(どの本を見れば)かかれてあるので
しょうか?
一応、入門書とC言語辞典的なものを購入して勉強しているのですが、全く記述がないのでなん
だか釈然としません。
MSDNとか。
>このような関数はどこを調べれば(どの本を見れば)かかれてあるのでしょうか?
私はMSDNで見つけました。
入門書なども良いですが、
MSDNも一度は読んでみると良いと思います。
結構良い情報が載ってます。
MSDNというのは
http://www.microsoft.com/japan/msdn/default.asp
ここのことですか?
雑誌もあるみたいですけど、そっちのほうですか?
雑誌は、こういう専門誌は高度なことばかり書かれていて、あとちょっと初心者向けの入門コー
ナーがあるくらいで、どうにも読むところが少ない(読みこなせない)印象が強くて手控えていま
した。
とりあえず暇を見て、Webの方は見てみたいと思います。
少なくともVCを入れているなら、HELPが入っていると思います。
HELPを通読するだけでもかなりの情報が得られます。
HELPを通読するべきでしょう。
できれば、サンプルプログラムなんかも一緒にインストールして
おいた方がいいと思います。最近はHDDが大きいのでさほどの負担では
ないと思いますし。
但し、オンラインのMSDNの方が更新がその都度かかると思うので
最新の情報がほしいときはオンラインで調べる必要があります。
HELPを活用している人が驚くほど少ないと思います。
せっかく入れているHELPですから有効に活用されてはどうでしょう?
うーん、マイクロソフトのヘルプって、分かりやすいですか?
正直、入り組んでて表現が理解しづらく、余計に訳がわからなくなってしまうヘルプだと思うの
です。
ヘルプに限らず、理解進度に沿っていないモノを読むのはかなり苦痛でもあります。
ハイパーリンクは好きなようにリンクがたどれる利点がありますけど、逆に筋道が分からなくな
ってしまいます。
検索しても思うような情報が得られることはまずなくて、ウェブでの検索のほうがずっと良いと
思っています。
しかも仕事で使っていて、職場でしか使えない(自宅に環境がない)のでヘルプの通読などは時間
的に不可能です。
とにかく成果物を期限通りに要求されるため、必要な情報を的確に引けないヘルプはどうにもな
らないのです。
当然、ヘルプを通読したほうが良いのは分かっていますが・・・。
ヘルプを有効活用できる人は、既にそれ相応の知識を持っている人だと思います。
TCHARマクロはベンダ独自拡張かつMBCS/Unicodeスイッチングラッパー
ですからねえ...
お持ちの入門書が「何の」入門書なのかによりますが、VC++の入門書な
ら、筋としては載っていてしかるべきです。ただ、TCHARマクロはどち
らかというと瑣末な項目なので、そこまで手が廻る本というと相当分厚
くなるでしょう。
私が昔買った複数の入門書では、IDEの使い方とOSの基礎で終わってま
したね。
ANSI準拠のC/C++の本なら、当然載っていません。TCHARマクロはベンダ
独自拡張で、標準規格ではありませんから、載せるはずがありません。
Win32 APIではありませんから、そちら方面の本には解説は載らないで
しょう。
そんなわけでMSDNを見るしかないのですが。こんな感じで、多少釈然と
していただけたでしょうか。
まあ要するに、どこも自分が書くべきことしか書かないのですよ。どこ
に何が載っているか当たりをつけるには、ある程度の知識と経験が必要
で、それを得るには本を読む必要があって... ニワトリとタマゴですね。
まあ、みんなそれを乗り越えて行くわけですから。keiさんもがんばっ
てください。
それから、そろそろ解決のチェックも入れたほうが良いかと思います。
ありがとうございます。
なるほど、MSお得意の独自拡張でしたか・・・。
持っているのは「ANSI準拠のC/C++の本」なので、載っていないのは当然なのですね。
解決とします。