概要 anchor.png Edit

D言語では、C言語の関数がそのまま使えます。 core.stdc.* にC言語の関数のAPIが存在します。

しかし、C言語の場合その多くがポインタなど危険なインターフェースを含んでおり、D言語の対応する関数が欲しくなる場合があります。

このページでは、C言語に対応するPhobosの関数を対応表で紹介します。

Page Top

対応表 anchor.png Edit

Page Top

assert.h anchor.png Edit

C言語PhobosTango
assert組み込み機能の assert
Page Top

stdlib.h anchor.png Edit

C言語PhobosTango
abort-*1
absstd.math.abstango.math.Math.abs
atexit-*2
atofstd.conv.totango.util.Convert.to*3
atoistd.conv.totango.util.Convert.to*4
atolstd.conv.totango.util.Convert.to*5
bsearchstd.algorithm.findAmongSorted*6
calloccore.memory.GC.calloctango.core.Memory.GC.calloc
div-
exit-*1
freecore.memory.GC.freetango.core.Memory.GC.free
getenvstd.process.getenvtango.sys.Environment.Environment.get
labsstd.math.abstango.math.Math.abs
ldiv-
malloccore.memory.GC.malloctango.core.Memory.GC.malloc
qsortstd.algorithm.sort*7tango.core.Array.sort*7
randstd.random.uniformtango.math.random.Random.rand.uniform
realloccore.memory.GC.realloctango.core.Memory.GC.realloc
srandstd.random.Random.seedtango.math.random.Random.rand.seed
strtodstd.conv.totango.util.Convert.to*3
strtolstd.conv.totango.util.Convert.to*5
strtoulstd.conv.totango.util.Convert.to*5
systemstd.process.systemtango.sys.Process.Process
Page Top

stdio.h anchor.png Edit

C言語PhobosTango
FILE*std.stdio.FileTangoのファイルの取り扱いはC言語のものとは大きく異なります。
tango.io.stream.TextFileや、
tango.io.stream.DataFileを御覧下さい。
clearerrstd.stdio.File.clearerr
fclosestd.stdio.File.close
feofstd.stdio.File.eof
ferrorstd.stdio.File.error
fflushstd.stdio.File.flush
fgetcstd.stdio.File.rawRead
fgetpos-*8
fgetsstd.stdio.File.rawRead
fopenstd.stdio.File (コンストラクタ)
std.stdio.File.open
fprintfstd.stdio.File.writef
fputcstd.stdio.File.rawWrite
freadstd.stdio.File.rawRead
freopenstd.stdio.File.open
fscanfstd.stdio.File.readln
fseekstd.stdio.File.seek
fsetpos-*8
ftellstd.stdio.File.tell
fwritestd.stdio.File.rawWrite
getcstd.stdio.File.rawRead
getcharstd.stdio.stdin.rawReadtango.io.Console.Cin.stream.read
getsstd.stdio.readlntango.io.Console.Cin.copyln
perror-*8
printfstd.stdio.writeftango.io.Stdout.stdout.format
putcstd.stdio.File.write*9-
putcharstd.stdio.writetango.io.Stdout.stdout*10
putsstd.stdio.writetango.io.Stdout.stdout*10
removestd.file.removetango.io.Path.remove
renamestd.file.renametango.io.Path.rename
rewindstd.stdio.File.rewind-
scanf-*8*11
setbuf-*8
setvbufstd.stdio.File.setvbuf
sprintfstd.string.format*12tango.text.convert.Layout.Layout*13
sscanf-
tmpfilestd.stdio.File.tmpfiletango.io.TempFile.TempFile
tmpnam-
ungetcstd.stdio.InputByChar.unget*14-
vfprintf-
vprintf-
vsprintf-
Page Top

locale.h anchor.png Edit

C言語PhobosTango
localeconvそもそもがUTF-8で処理するため関係ない。
ただし、Tangoの場合時間などの変換設定を変えるための機能があります
setlocale
Page Top

投票とコメント anchor.png Edit

選択肢 投票
大変参考になった3  
参考になった1  
あまり参考にならなかった0  
まったく参考にならなかった0  

コメントはありません。 コメント​/HowTo​/C言語の標準関数に対するD言語の関数はどれ?編集

お名前:

*1 throw, assert(0)等を用途に合わせて
*2 モジュールのstatic ~this() など
*3 またはtango.text.convert.Float.parse
*4 またはtango.text.convert.Integer.toInt
*5 またはtango.text.convert.Integer.toLong
*6 その他にも要素を見つけ出す関数は何個かある
*7 あるいは配列のプロパティのsortなど
*8 std.stdio.File.getFSを使う
*9 std.stdio.File.LockingTextWriter.putでも可
*10 .opCall
*11 std.stdio.readln+std.conv.toでも可
*12 std.string.sformatでも可
*13 Layoutをcharに限定したtango.text.convert.Format.Formatもある
*14 undocumented

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 2205, today: 3, yesterday: 3
初版日時: 2010-02-15 (月) 00:37:34
最終更新: 2010-02-15 (月) 00:37:34 (JST) (2775d) by ゲスト
メインメニュー

ログイン

ユーザー名:


パスワード:





パスワード紛失  |新規登録

Menu