タグ

ブックマーク / rayerd.plala.jp (2)

  • C/C++に疲れた人のD言語2.0 - ...ing wiki

    文字列の長さは .length プロパティで取得 ちなみに Windows のコマンドプロンプトは UTF-8 などの文字をそのまま表示できないので日語などを出力すると文字化けする 文字の配列としての文字列 今まで何度も使ってきた string は,実は,immutable(char)[] の alias であるため,次の2行は同じ意味です. string a = "hoge"; immutable(char)[] a = "hoge"; Dの文字列は,ただの文字の配列なので,配列に対して行える操作のほとんどがそのまま行えます. char[] a = "japan".dup; a ~= "ese"; a[0 .. 1] = 'J'; writeln(a); 実行結果 Japanese Dの文字列は char, wchar, dchar の(書き換え可能,immutable,あるいは,c

    haru-s
    haru-s 2009/08/30
    はてブ集まるといいな
  • C/C++に疲れた人のD言語 - ...ing wiki

    文字列の長さは .length プロパティで取得 Cの関数にDの文字列を与える場合にはゼロ終端になっていないことに注意する必要があります. import std.string; void cFunc(char* s) // Cの関数 { printf("%s\n",s); } void main() { char[] dstr = "hoge"; // 方法1) 標準ライブラリを使う char* cstr = std.string.toStringz(dstr); /* // 方法2)"\0" を末尾に追加してから char* にキャストする dstr ~= "\0"; char* cstr = cast(char*)dstr; */ /* // 方法3)"\0" を末尾に追加してから .ptr プロパティを使う dstr ~= "\0"; char* cstr = dstr.ptr; *

    haru-s
    haru-s 2009/05/29
    PukiWiki Plus!移行済み版
  • 1