今のところ、<stdlib.h>を拡張した<betterc/stdlib.h>だけです。
bettercディレクトリを作って、そこに添付したファイルを格納してください。そして、インクルードディレクトリを設定してください。
文字コードはUTF-8ですので、必要に応じて変換してください。
ヘッダファイルをインクルードするだけで使えますので、ライブラリファイルをリンクする必要はありません。
ざっとライブラリの説明をすると...
一番力が入っているのが strto関数テンプレートです。
これは、strtolやstrtodなどを一般化したもので、
long value = betterc::strto<long>("12345");
のようにして使います。
もちろん、第二引数や第三引数を指定することもできます。
betterc::strto<double>とすれば浮動小数点型も使えますが、C99の0x1.234p+3のような形式にも対応しています。
ただし、ロケールは未対応ですので、小数点には . しか使えません。
また、ナロー文字列だけでなく、ワイド文字列や、C++0xのchar16_tやchar32_tの文字列も指定できます。
ほかには、betterc::abs関数に、例えば INT_MIN を指定すると、assertを埋め込んでいますのでエラーを検出できます。
betterc::div関数の除数にゼロを指定したり、betterc::div(INT_MIN, -1)のようにした場合もエラーを検出できます。
多バイト文字・ワイド文字間の変換は、現状ではUTF-8しか対応していません。
なお、ざっとしかテストしていませんし、Mac OSX上のGCC(バージョン4.0.0, 4.4.0, および4.5)でしか試していません。
時間のあるときにでも触ってみて、ご意見をいただけると幸いです。
