油条大哥大 发表于 2024-3-30 23:33:43

关于MinGW的宽字符串输出问题

用 MinGW编译器,想打印一个“你好,世界”。
真折腾,到现在还没解决,https://bbs.emath.ac.cn/static/image/smiley/1/dizzy.gif
有谁清楚吗,Help!!

afijozaci 发表于 2024-3-30 23:34:30

找到一种可行的方案了:#include <iostream>using namespace std;int main(){wcout << setlocale(LC_ALL, "chs" )<<endl<<L"还是不行吗" << endl;}g++ test.cpp -finput-charset=GBK

hozewovaxemam 发表于 2024-3-30 23:35:21

#include <string>#include <locale>using namespace std;void main(){unsigned int n, d;int pre, i, high, low;wchar_t c = L"零一二三四五六七八九";wchar_t p = L"个十百千万十百千亿";for (i = 0; i < 9; i ++) d = 0;cout << "请输入数字 :";cin >> n;if (n >= 1000000000){cout << "输入数字过大"<<endl;exit(1);}i = 0;while (n > 0){      d = n % 10;      n /= 10;}    high = i-1; //最高位    low = 0; //最低位   while (d == 0)low ++;locale loc( "chs" );wcout.imbue(loc);cout << endl << "大写形式:";if (n == 0) { cout << "零" << endl; exit(0);   } //特殊处理零    pre = 0;for (i = high; i >= low; i --){if (d > 0)   {   wcout << c];   if (i > 0)wcout << p;}elseif (pre)wcout << L"零";   pre = (d != 0); } }

Charlslots 发表于 2024-3-30 23:36:12

这个帖子要收藏一下,以后用得到
页: [1]
查看完整版本: 关于MinGW的宽字符串输出问题