在D语言中将C语言的const char*转换为字符串,有以下几种方法:

  1. 使用std.string.toStringz()函数

在较早的D版本中,可以使用std.string.toStringz()函数将const char*转换为字符串。但是,在最新的DMD 2.103版本中,该函数已经过时,不再推荐使用。如果你仍然想使用该函数,可以将代码中的编译器选项改为“-deprecation”。

以下是使用std.string.toStringz()函数的示例代码:

import std.string;

const char* cstr = "Hello, World!";
string str = toStringz(cstr);
  1. 使用std.conv.to!string()函数

在DMD 2.103版本以及更新的版本中,可以使用std.conv.to!string()函数将const char*转换为字符串。

以下是使用std.conv.to!string()函数的示例代码:

import std.conv;

const char* cstr = "Hello, World!";
string str = to!string(cstr);
  1. 使用std.string.fromCStringz()函数

在DMD 2.103版本以及更新的版本中,可以使用std.string.fromCStringz()函数将const char*转换为字符串。

以下是使用std.string.fromCStringz()函数的示例代码:

import std.string;

const char* cstr = "Hello, World!";
string str = fromCStringz(cstr);
  1. 使用std.utf.toUTF8z()函数

如果你需要将const char*转换为UTF-8编码的字符串,可以使用std.utf.toUTF8z()函数。

以下是使用std.utf.toUTF8z()函数的示例代码:

import std.utf;

const char* cstr = "Hello, World!";
string str = toUTF8z(cstr);

总之,在D语言中将C语言的const char*转换为字符串有多种方法,你可以根据自己的需要进行选择


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

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