On Friday, 1 April 2022 at 08:45:36 UTC, Ferhat Kurtulmuş wrote:
>[...]
O satırı "Merhaba".writefln("%s", a); olarak
güncellersen dizenin hepsini yazacaktır. Tabi şunu unutmamalı ki "aâAÂ@" hazır değeri en sonda sıfır baytını içerdiğinden sorun çıkmıyor. Eğer a işaretçisi sıfır baytıyla bitmeyen bir dizenin başlangıcını gösteriyorsa o zaman toStringz ile veya manuel olarak ~ '\0' sıfır baytını eklemek gerekir.
[...]
Hocam, denedim ama anladığım kadarıyla write ile başlayan kolaylık işlevleri printf gibi bir gezinme yapmıyor. Tabi aşağıdaki gibi bir döngü ile kendiniz gezinirseniz başka:
import std.stdio;
void main()
{
const(char)* ilk = " D Dili";
assert(*ilk == 0x20); // true
ilk.writeln; // 559E4FBA4A50
"Merhaba".writefln("%s", ilk); // Merhaba
"Merhaba".writefln("%s", *ilk); // Merhaba
"Merhaba".write;
for(auto i = ilk; *i; i++) {
write(*i);
}
writeln; // Merhaba D Dili
printf("Merhaba%s\n", ilk); // Merhaba D Dili
}