dlang语言怎么将c语言中的constchar和char类型转为d语言字符串有几种方式注意to!string转换结果为1个字符我要整个字符串最后针对每种方式都给个例子
- 使用std.string.toStringz函数将const(char)[]转为d语言字符串:
import std.string;
const char[] cstr = "hello";
string dstr = toStringz(cstr);
- 使用std.string.fromString函数将char[]转为d语言字符串:
import std.string;
char[] cstr = "world".dup;
string dstr = fromString(cstr);
- 使用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);
}
``
原文地址: https://www.cveoy.top/t/topic/fk9o 著作权归作者所有。请勿转载和采集!