こんにちは。
どうもWindows 10のコマンドプロンプトの仕様が変わったようです。
コマンドプロンプトを起動し、左上のシステム・コントロール・アイコンを右クリック→オプション→「レガシ コンソールを使用する」にチェックを入れて再度実行するとうまくいくかもです。
標準のコマンドプロンプトの文字コードはShift-JIS(CP932)なので、普通にcout << "あいう";で日本語を表示できていたました。「レガシ コンソール」にするとその頃のコマンドプロンプトが動いているのだろうと思います。
また、ダメ元で、std::locale::global(std::locale("japanese"));
を入れてみると新コンソールでも化けませんでした。
C++
1#include<string>
2#include<iostream>
3#include<stdio.h>
4using namespace std;
5
6int main(){
7 std::locale::global(std::locale("japanese"));
8 cout << "ハローワールド\n";
9
10 return 0;
11}
最終的にUTF-8を標準にするための「布石」かも?
文字コードの話を 第18回目 文字コードとVisual C++の悩み にて解説したことがあります。よかったら参考にされて下さい。
(上記仕様変更により、記事中のコマンドプロンプト用ツールはこのままでは動かないです。頭痛い。)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/22 14:46
2019/01/24 10:17