- 締切済み
日経ソフトエア28ページ
8x8の正方形を作るため、それを8文字8行で表すとして、それら文字をユーザ入力させるとして char buf[8][8]; でだいじょうぶなんですか? もう一方のは char buf[8][9]; なのでだいじようぶそうでしたが。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- sakusaker7
- ベストアンサー率62% (800/1280)
回答No.1
誰もが日経ソフトウエアを読んでいるわけではないので、質問としてはちょっと不親切です。 多分 cin >> buf[i] のところに関する疑問だと思いますが、確かにまずいですね。 オーバーランしたら異常終了しかねないし、8文字ジャストでも終端のナル文字が 配列外の領域を書きつぶします。 書きつぶしても運良く動いたというところでしょう。 cin.getline で一行入力しておいてそこから8文字だけコピーするなどのように すべきだと思います。
お礼
本のソースが間違いだと分かって安心しました。 ありがとうございました。