D语言字符串转换:C语言 const(char)[] 和 char[] 到 D 语言字符串

本文将介绍如何将 C 语言中的 const(char)[]char[] 类型转换为 D 语言字符串,并提供几种方法以及详细的代码示例。

注意: 使用 to!string 函数转换 const(char)[]char[] 时,默认只转换第一个字符,要转换整个字符串需要使用 cstr.ptr

1. 使用 std.string.toStringz 函数将 const(char)[] 转为 D 语言字符串:

import std.string;

const char[] cstr = 'hello';
string dstr = toStringz(cstr);

2. 使用 std.string.fromString 函数将 char[] 转为 D 语言字符串:

import std.string;

char[] cstr = 'world'.dup;
string dstr = fromString(cstr);

3. 使用 std.conv.to 函数将 const(char)[]char[] 转为 D 语言字符串:

import std.conv;

const char[] cstr = 'hello';
string dstr1 = to!string(cstr); // 只转换第一个字符
string dstr2 = to!string(cstr.ptr); // 转换整个字符串

char[] cstr2 = 'world'.dup;
string dstr3 = to!string(cstr2); // 转换整个字符串

完整的例子:

import std.string;
import std.conv;

void main()
{
    // 示例1
    const char[] cstr1 = 'hello';
    string dstr1 = toStringz(cstr1);
    writeln(dstr1);

    // 示例2
    char[] cstr2 = 'world'.dup;
    string dstr2 = fromString(cstr2);
    writeln(dstr2);

    // 示例3
    const char[] cstr3 = 'foo';
    string dstr3 = to!string(cstr3.ptr); // 转换整个字符串
    writeln(dstr3);

    char[] cstr4 = 'bar'.dup;
    string dstr4 = to!string(cstr4); // 转换整个字符串
    writeln(dstr4);
}
D语言字符串转换:C语言 const(char)[] 和 char[] 到 D 语言字符串

原文地址: https://www.cveoy.top/t/topic/obTl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录