zoukankan      html  css  js  c++  java
  • 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:Ddmd.2.066.1.windowsusrlib目录,源码放到C:Ddmd.2.066.1.windowsusrsrc 目录

    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,非常正确。

                                                                                                                                        作者:宛宏南

  • 相关阅读:
    AjaxPro.HttpSessionStateRequirement.ReadWrite
    C#关键字abstract virtual interface new override
    ASP.NET ViewState详解
    DataTable的Select方法
    DWR学习笔记 Hello World
    JSP标签分页实现
    php图片验证码类
    使用php发送Http请求,抓取网页数据
    JdbcTemplate 排序查询结果不一致问题
    ANT 和 JDK 的设置
  • 原文地址:https://www.cnblogs.com/wanhongnan/p/5705326.html
Copyright © 2011-2022 走看看