D语言字符串的初步使用

Visual Statio下的D语言还发环境及Windows桌面开发库Dgui设置好了,该是测试一下D语言来写个程序测试测试了。

使用VS新建一个D语言的Console的项目,输入代码

import std.stdio;

int main(string[] argv)
{
    auto str = "你好!";
    writeln(str);
    str.writeln();
    return 0;
}

调试运行后发现出错了,Console输出的是乱码

image 从朋友那里了解到,在windows中使用writeln函数输出时默认使用的是gbk编码,而d语言编译是使用utf8编码进行编译。因此,需要把默认的utf8转换为gbk才能正常输出,这个转化需要使用到exCode库,该库项目地址:https://github.com/meatatt/exCode 下载后发现,exCode项目是使用dub源码管理工具管理的项目,需要再下载dub工具才能编译,dub项目地址:https://github.com/dlang/dub

先来编译exCode项目吧

将dub的文件复制到dmd编译下的bin目录:

image

添加dmd编译器执行路径到环境变量

image 运行cmd,进入到exCode目录后,运行dub命令进行编译,如下图所示

image

编译成功后得到excode.lib文件

image

编译完成后,像使用dgui库一样,把excode.lib放到C:\D\dmd.2.066.1.windows\usr\lib目录,源码放到C:\D\dmd.2.066.1.windows\usr\src 目录

image

配置完成后,就可以使用该库了。

在工程性性里添加库的连接

image 修改代码如下:

import std.stdio;
import excode;

int main(string[] argv)
{
    wstring str = "你好!";
    writeln(UNI2GBK(str));
    str.UNI2GBK().writeln();
    return 0;
}

image

如果使用excode时有import database问题,将import database注释掉:

image

正常编译后运行:

image

中文已经成功显示出来了,str变量的长度为3,非常正确。

                                                                                                                                    作者:宛宏南

转载于:https://www.cnblogs.com/wanhongnan/p/5705326.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值