MSDNには、
「エラーが発生した場合、-1」
って載ってあるんだけど、どうやってエラーチェック
したらいいのでしょう?
-1でチェックすればいいのでは。
unsignedの変数に-1を代入してみてください。
longの場合には0xffffffffが代入されているはずです。
そか。
普通に-1と == 評価してもtrueになるんですね。
ありがとうございました。
あまり関係ない話なのですが
http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/vccore98/html/_crt__beginthread.2c_._beginthreadex.asp
には失敗時に 1 が返ると書かれていますね。
どっちが誤植なんだろ。
1が返る,という方が間違いでは?
とりあえず,VC++ 5.0の_beginthreadのソース(srt/src/thread.c)では,
(unsigned long)-1Lを返しています。
というか,-1を1と書いているのは他にもありまして……。
http://msdn.microsoft.
com/library/en-us/shellcc/platform/commctls/editcontrols/editcontrolreference/ed
itcontrolmessages/em_limittext.asp
> For multiline edit controls, this value is either 1 bytes or the value of the
wParam parameter, whichever is smaller.
こんなエディットコントロール,どう使えと……。
前は,
> For multiline edit controls, this value is either -1 bytes or the value of the
wParam parameter, whichever is smaller.
だったと思いますが……。
どっちにしても,unsignedな値に対して-1と書くのはどうかと思いますけどね……。
VC++6.0 の crt/src/thread.c 確認しました。確かに (unsigned long)-1L です。
うーん。昔は、
MSDN 日本語ドキュメントを信ずるものは救われない
MSDN 英語ドキュメントを信じるものは救われる
だったのですが、こーなってくると何を信じてよいのやら。
とりあえず古い MSDN Library CD-ROM を捨てずに取っておこう。