treeviewについて

[戻る]
abc-mart 2002/06/12(水) 17:27:22
はじめまして。
現在、VC++6.0を使ってプログラミングをしています。
初心者なのでよく分からない点があり、質問に来ました。

えっと、ドライブの取得をする『GetLogicalDrives関数』についてですが、
これの説明によく『ビットマスク形式』というのが使われています。

これはいったいどういう形式なんでしょうか?

よかったら教えてください。

PAI 2002/06/12(水) 17:56:56
この質問でこのスレッドタイトルはやばめですね。まあいいですけど。

ビットマスク形式ですが、
その数字を2進数であらわしたときに
ビットがたっているかたっていないかを使うことで
ひとつの数字で複数の「あるかないか」の情報をあらわすやり方です。

GetLogicalDrivesの場合、
最下位ビットがAドライブで使用できるドライブのビットがたつので、
たとえばA,C,Dドライブが使用できるならば

 1101
 DCBA

で、0x0D(っていうか13)が返って来ます。

○ごうち● 2002/06/12(水) 18:05:32
例えばこの関数の戻り値 dwRetが

01100011 だったとしましょう。

dwRet & 00000001 が != 0 であれば Aドライブは利用可能

dwRet & 00000010 が 〃      Bドライブ  〃

このように、各1ビットのマスク (&)が独立に意味を持つことを
いうのだと思います。
この戻り値の場合、有効ドライブは(左から1を読み上げれば)
A, B, F, G となります。

説明がイマイチですね。m(__)m

どこがTreeViewについてなのかな?(@_@?

でわでわ。(^_^;

○ごうち● でした。

○ごうち● 2002/06/12(水) 18:07:45
>この戻り値の場合、有効ドライブは(左から1を読み上げれば)

LSBからなら 右から でした。m(__)m

○ごうち●@失敗 でした。

abc-mart 2002/06/13(木) 09:10:51
[[解決]]
ありがとうございました、PAIさん、○ごうち●さん。
参考にさせてもらいます!

ちなみにPAIさん、スレッドタイトルとは・・・?
勉強してまいります。

PAI 2002/06/13(木) 17:32:49
>スレッドタイトルとは

どうでもいいですが、
"treeviewについて"
という名前のことです。

ここで質問してるのはビットマスクについてなので
ふさわしくないんじゃないでしょうか?

経緯としてはつながってるのかもしれませんけど、


  ”アメリカの首都はどこですか?”
っていう質問に
  ”太陽系について”
ぐらいのタイトルがついてて、見る人を混乱させますよ。

abc-mart 2002/06/13(木) 17:37:35
ありがとうございました。
以後、気を付けます。

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