hrefspace

 找回密码
 立即注册
搜索
热搜: PHP PS 程序设计
查看: 967|回复: 3

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

[复制链接]

263

主题

440

帖子

976

积分

中郎将

Rank: 4

积分
976
发表于 2024-3-30 23:33:43 | 显示全部楼层 |阅读模式
用 MinGW编译器,想打印一个“你好,世界”。
真折腾,到现在还没解决,
有谁清楚吗,Help!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

189

帖子

171

积分

关内侯

Rank: 2

积分
171
发表于 2024-3-30 23:34:30 | 显示全部楼层
找到一种可行的方案了:
  1. #include <iostream>using namespace std;int main(){  wcout << setlocale(LC_ALL, "chs" )  <<endl<<L"还是不行吗" << endl;}  
复制代码
g++ test.cpp -finput-charset=GBK
回复

使用道具 举报

0

主题

196

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2024-3-30 23:35:21 | 显示全部楼层
  1. #include <string>#include <locale>using namespace std;void main(){unsigned int n, d[9];int pre, i, high, low;wchar_t c[11] = L"零一二三四五六七八九";wchar_t p[11] = L"个十百千万十百千亿";for (i = 0; i < 9; i ++) d[i] = 0;cout << "请输入数字 :";cin >> n;if (n >= 1000000000){cout << "输入数字过大"<<endl;exit(1);}i = 0;  while (n > 0){        d[i++] = n % 10;        n /= 10;}    high = i-1; //最高位    low = 0; //最低位   while (d[low] == 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[i] > 0)   {   wcout << c[d[i]];   if (i > 0)  wcout << p[i];  }elseif (pre)wcout << L"零";   pre = (d[i] != 0); } }
复制代码
回复

使用道具 举报

0

主题

180

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2024-3-30 23:36:12 | 显示全部楼层
这个帖子要收藏一下,以后用得到
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|hrefspace

GMT+8, 2024-5-9 06:34 , Processed in 0.074545 second(s), 22 queries .

Powered by hrefspace X3.4 Licensed

Copyright © 2022, hrefspace.

快速回复 返回顶部 返回列表