当前位置: 首页 > news >正文

贵阳网站建设zu97贵阳做网站的

贵阳网站建设zu97,贵阳做网站的,ps制作网站过程,免费 网站 如何做随着技术的发展,越来越多开发者转向使用 Windows Subsystem for Linux(WSL)在 Windows 10 上进行开发,也就是说不用虚拟机,不用准备多一台电脑,只需要在Windows 10/11 里安装 WSL 就能体验 Linux 系统。因此…

随着技术的发展,越来越多开发者转向使用 Windows Subsystem for Linux(WSL)在 Windows 10 上进行开发,也就是说不用虚拟机,不用准备多一台电脑,只需要在Windows 10/11 里安装 WSL 就能体验 Linux 系统。因此我在 Win10 系统里安装了Ubuntu 20 系统学习 Linux 基础,可以用来编译 C / C++ 代码,体验同一个代码编译运行与 Windows 环境下的差别。

之前就听说 WSL 有一些潜在的限制,无论性能还是功能都不能100%取代裸机 Linux 系统。今天就被我逮到 WSL 下的 Ubuntu 的一个缺点:输出宽字符串(wide string)时失败。

比如下面一段把普通字符串转换成宽字符串的 C 代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <wchar.h>
#include <locale.h>int main() {// Windows环境下要设为 setlocale(LC_ALL, "en-US.UTF-8");// Linux环境下设为 setlocale(LC_ALL, "");// 设置不当的话,转换后的宽字符串长度不正确setlocale(LC_ALL, "");char* str = "22年2月22日";int len = strlen(str);printf("narrow string: %s\n", str);printf("narrow string length: %d\n", len);wchar_t* wstr = (wchar_t*)malloc((len + 1) * sizeof(wchar_t));size_t wlen = mbstowcs(wstr, str, len+1);wprintf(L"wide string: %ls\n", wstr);printf("wide string length: %zu\n", wlen);for(size_t i=0; i<wlen; i++)wprintf(L"%lc\t%d\n", wstr[i], (int)wstr[i]);free(wstr);return 0;
}

这段代码将普通字符串“22年2月22日”转换成宽字符串格式,得出正常的长度为8,然后输出各个字符值。在 Windows 环境下,必须在主程序里设置setlocale(LC_ALL, "en-US.UTF-8");或者setlocale(LC_ALL, "zh-CN.UTF-8");,使用 clang 编译运行的结果才能正常:
在这里插入图片描述
到了 WSL 的 Ubuntu 环境,由于Ubuntu终端的字符编码默认是UTF-8,因此主程序中要把 LC_ALL后面的字符串置空:setlocale(LC_ALL, "");,然后编译运行:

在这里插入图片描述
转换后的宽字符串长度是8,这是正确的,但是无法输出转换后的字符串以及每个字符对应的值。我尝试了各种办法修改 wprintf 和 printf 语句,但输出结果无济于事,令人百思不得其解。

直到后来我在安卓手机上安装了Termux(一款运行于安卓系统的 Linux 模拟器),然后在手机上运行 clang 编译再运行 ~~ 结果一切正常了。

在这里插入图片描述

换了环境,豁然开朗!

由此可见 Windows 10 的 WSL(Ubuntu) 在处理特定操作时确实有其局限性。

http://www.yayakq.cn/news/559468/

相关文章:

  • 阿里云手机网站建设可以个人做单的猎头网站
  • wordpress 店铺推荐长沙网站推广seo
  • 什么叫网站建设有哪些网站下载ppt是免费的
  • 企业网站打不开的原因雁塔网站建设
  • 南山网站制作联系电话哪里建设网站比较好
  • 汉南公司网站建设网站建设共享
  • flash网站导航条怎么做开家网站建设培训班
  • erp网站建设方案网站代运营方案
  • t购物网站开发前景免费的ppt模板下载
  • 上海那家公司做响应式网站建设蘑菇街网站服务
  • ftp查看网站后台密码导视设计网站
  • 绥化市建设局网站公司网站域名到期了去哪里缴费
  • 上海市建设安全协会网站查询系统瘫网站推送
  • 做网站公司需要提供的资料蒲城矿建设备制造厂网站
  • 西宁市建设网站多少钱ae免费素材网站
  • 中国交通建设监理协会网站网站诚信备案
  • 免费网站模板大全微网站建设收费
  • 个人网站内容有哪些内容邳州网页设计
  • 网站建设百灵鸟优化视频模板套用免费
  • 住房和城乡建设部网站进不去网站设计与网站开发是同时进行的
  • 做的网站有广告网站商城开发
  • python 做爬虫网站手机网站开发专业
  • 佛山网站建设价格深圳安卓app开发公司
  • 免费企业网站模板源码企业建设网站需要服务器吗
  • 青岛市建设监督管理局网站天津市建筑信息网
  • 上海网站设计工作室wordpress安装dplayer
  • 下列不属于网站建设规划西安装修行业网站建设
  • 织梦cms安装网站程序建设工程质量检测网站
  • 赣州省住房和城乡建设厅网站网站模板免费推荐
  • 怎么做网站作业vs做网站案例