• ベストアンサー

GetWindowText(hW,s,999);を実行

するのに char s[999]; と宣言してもいいのでしょうか? それとも char s[1000]; と宣言すべきでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • phoenix343
  • ベストアンサー率15% (296/1946)
回答No.3

No2です >1000にするのは問題無いけれど筋違いで筋からすれば999にするべきだという事ですね? その通りです。別にどーでもいーことではありますが。

その他の回答 (2)

  • phoenix343
  • ベストアンサー率15% (296/1946)
回答No.2

MSDNをよく読めば分かることです。 以下の「including the NULL character」… ヌルを含めた文字列の長さを指定せよ、と書いてますよね。 GetWindowText http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/getwindowtext.asp

keyguy
質問者

補足

ありがとうございます ということは 1000にするのは問題無いけれど筋違いで筋からすれば999にするべきだという事ですね?

回答No.1

どっちでも999文字取ってこれるので問題ないでしょう。 ただし、文字数がオーバーした場合は999文字まで取ってきて(配列の[0]~[998]が埋まる)最後に'\0'がつかないので配列の最後に'\0'を書き込む必要がありますね。

keyguy
質問者

お礼

ありがとうございます

関連するQ&A