0からの、超初心者C++相談室at TECH0からの、超初心者C++相談室 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト850:デフォルトの名無しさん 24/06/11 16:50:13.04 ILw6YbJs.net https://learn.microsoft.com/ja-jp/cpp/build/reference/utf-8-set-source-and-executable-character-sets-to-utf-8?view=msvc-170 すまん、実行時もソースコードもオプションに/utf-8入れるだけだったわ setlocaleしなくていい utf-16にしたいんだったらまた別だけど 851:はちみつ餃子 24/06/11 17:31:31.68 kKWOd8Cb.net >>847 言語仕様には書いていないことだから実行環境 (OS やターミナル) のドキュメントを読んでねってこと。 色々な文字コードをサポートしていることもあるししてないこともある。 切り替えることが出来ることもあれば出来ないこともある。 それとストリームはリダイレクト (接続先の変更) される可能性がある。 やりたいことによっては 標準出力がターミナルに繋がっているときとファイルに繋がっているときを区別しなきゃならないかもしれない。 Unix 系 OS の場合はテキストを表示するのはターミナルで、ターミナルはごく普通のアプリケーションのひとつ。 OS 自体はアプリケーションとターミナルの仲立ちをしてるだけなんだけど……。 Windows の場合は標準のテキスト画面 (コンソール) は Windows に標準的に備わった特別なもの。 その特別なテキスト画面を使ってる間は Windows のドキュメントに書いてある通りにすればいいのだけど Windows で別のターミナルを使うときはその制御方法の規格が確立してないから 主要なターミナルを判定して場当たり的な処理をしているのが現状。 近年は ConPTY という規格が使われ始めてるけどどんなターミナルもそれをサポートしているってわけではないから 結局は場当たり的に対処すべき対象が一個増えただけって感じ。 (将来的には統一されるといいなぁ……) 更に Windows は C ランタイムサポートが文字コード変換の機能も持っていて接続先を勝手に判定して 変換することがあって、その挙動がかなりわけがわからない。 色々あるけどまとめると「こうすればいい」という簡単な説明が出来ない入り組んだ事情があるって話。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch