gpt4 book ai didi

d - 如何将c字符串转换为d字符串?

转载 作者:行者123 更新时间:2023-12-04 01:55:34 24 4
gpt4 key购买 nike

这太简单了我不好意思问,但是如何在 D2 中将 c 字符串转换为 d 字符串?

我有两个用例。

string convert( const(char)* c_str );
string convert( const(char)* c_str, size_t length );

最佳答案

  • 使用 std.string.toString(char*) (D1/Phobos) 或 std.conv.to!(string) (D2):
    // D1
    import std.string;
    ...
    string s = toString(c_str);

    // D2
    import std.conv;
    ...
    string s = to!(string)(c_str);
  • 切片指针:
    string s = c_str[0..len];

    (您不能使用“长度”,因为它在切片语法中具有特殊含义)。

  • 两者都将返回 C 字符串上的切片(因此,是引用而不是副本)。使用 .dup 属性创建副本。

    请注意,D 字符串被认为是 UTF-8 编码。如果您的字符串采用另一种编码,则需要对其进行转换(例如,使用 std.windows.charset 中的函数)。

    关于d - 如何将c字符串转换为d字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2508144/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com