質問: 1) { printf("%sとは何ですか?", buffer); } // 終了 return 0; } ```
回答: ``` inputmozi = getchar(); getline(buffer, inputmozi); //strに文字列を格納 ``` が間違いですね。 `getline` 関数に渡す第2パラメータは 文字列の最大長を指定する目的で 関数を自作していると 思うので `sizeof(buffer)` を指定すべきでしょう。 また、`inputmozi = getchar();` としているため 先頭の1バイト分 (全角文字の 前半部分) が 切り取られて `getline` が呼ばれているので 先頭の全角1文字が 文字化けした状態になっています。 > > デバッグ方法 > > > Visual Studio であれば デバッグのステップ実行で [F10] [F11] や 変数の内容を確認しながら 1行づつステップ実行するのが良いでしょう。 ある程度、予想がつくならブレークポイントを設定して その周辺を重点的にするとよいかと。 チュートリアル: Visual Studio を使用した C++ のデバッグについて理解する が参考になると思います。