2020年05月31日

C++で四苦八苦してたのしーーーといいのにぃ。。。。。

某出版社からDLした例題だが、動いた!!  と思ったが違った。
image

これを実行すると画面にズラズラと次のように出る。

10バイト: ile " << f
10バイト: ile << end
10バイト: l;
                retur
10バイト: n 0;
        }
        /
10バイト: / 読み
10バイト:

(base ) PS D:\….略


つまり、最後の Program Endまで来ないで抜けるのである。どうやら日本語の部分で何かが起きているようだ。cout で日本語を出力する際に何かの制御コードとして解釈されてしまったか。
ちなみに日本語がない場合には最後まで来た。
さらに、これをVisualStudio2019Communityで試したら正常動作した。最後まで来たのである。g++ とMicrosoftのGLとの違いか。

g++  8.1.0 ですね。
さー、こうなるとどうするかい? これはもうワテが考えてどうにかなるものではないので放置で放棄だ(笑) まーVisualStudio2019CommunityではOKなのでして。
つーか、上のような処理はまず書かない。ファイルから1行読んで表示という事はやる。わざわざ10バイトだけ読んで・・・ってやらんですわ。
とりあえずGoogle先生に聞いとこ・・・(´・ω・`)

分かつたこと
VScode Terminalは chcp でみると65001になっている。chcp 932と叩くとDOS窓の昔のだ。
その状態で上の実行すると最後の Program Endが出た・・・が文字化け大量ね。
Editorはutf-8 である。Terminalはutf-8である。その状態で上の実行すると途中で抜ける。
というわけで、10バイトずつ読み込みってのは やめよう。。。

posted by toinohni at 11:06| 東京 ☀| Comment(0) | ソフト系雑学 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください