Dizeye yayınlamaya çalıştığım standart bir char işaretçim var.D dilinde dize bir char * nasıl yazılır?
// string to char*
char *x = cast(char*)("Hello World\0");
// char* to string?
string x = cast(string)x;
string x = cast(immutable(char)[])x;
Hata!
D biçimindeki bir dizgiye char * nasıl dönüştürüleceği hakkında herhangi bir fikir var mı?
pst: dize değişmezleri zaten eklenmiş "\ 0" –
Neden uzunluk şişman işaretçisiyle biliniyorsa? C uyumluluğu için mi? –
@Daevius, Evet, bu şekilde, bir C işlevine çağrı yaptığınızda, tüm dize değişmezlerinizi toStringZ ile sarmanız gerekmez. –