usar resueltos leer imprimir funciones ejercicios ejemplos como caracteres cadenas cadena arreglo string pointers casting char d

string - resueltos - imprimir cadena de caracteres en c



Cómo lanzar un char*a la cadena en D? (2)

Tengo un puntero de char estándar que intento lanzar a una cadena.

// string to char* char *x = cast(char*)("Hello World/0"); // char* to string? string x = cast(string)x; string x = cast(immutable(char)[])x;

¡Error!

¿Alguna idea de cómo lanzar un char * a una cadena en D?


Si conoce la longitud exacta, puede hacer esto:

immutable(char)* cptr = obj.SomeSource(); int len = obj.SomeLength(); string str = cptr[0..len];

En algunos casos (como si la cadena contiene /0 ) es necesario.


Use std.conv.to para convertir de char* a string . Use std.string.toStringZ para ir hacia el otro lado.

import std.string; import std.stdio; import std.conv; void main() { immutable(char)* x = "Hello World".toStringz(); auto s = to!string(x); writeln(s); }