Business application utilities in C
hacker emblem Happy Hacking!



ビジネス・アプリケーション向けのC言語ユーティリティ集

この C 言語ソースコード集には、いわゆる業務アプリケーションをPOSIXシステム上で開発する際に役立つと思われるものを集めてあります。

ライセンスは GPL とします。

以下に列挙するユーティリティ毎のディレクトリには、APIのソースファイルとmakeファイル、API仕様のHTMLファイル (index.html) があります。APIそれぞれの詳細についてはディレクトリ毎の HTML を参照してください。

  1. 100000-primary-numbers.txt

    100,000 番目までの素数のリスト。

  2. abacus/

    固定小数点数の計算手順を実行する算盤ユーティリティ (整数部と小数部はどちらも 18 桁までの精度です)。

  3. buffer_checker/

    電文の項目が使用可能な文字種からなる正しいデータになっていることをregexを使用して確認するためのユーティリティ。

  4. buffer_editor/

    複数行からなるバッファの内容を、Unix コマンド sed(1) のように、正規表現に一致する行の抽出・削除を行うことと、正規表現に一致するサブ・パターンを置き換えるためのユーティリティ。
    GNU C++ (g++) でもコンパイル可能。

  5. byteorder/

    バイトオーダ (エンディアン) の異なるアーキテクチャ間で通信あるいは記録媒体を介してバイナリ・データを交換する際に、データ・フィールドをネットワーク・バイトオーダに一律変換するユーティリティ。
    GNU C++ (g++) でもコンパイル可能。

  6. conf_file_loader/

    いわゆる .INI あるいは Java プロパティ形式のファイルをメモリ上に読み込んで検索するユーティリティ。
    GNU C++ (g++) でもコンパイル可能。

  7. conv_line_ctrl/

    Unix, DOS, MacOS それぞれで異なるテキストファイルの改行制御シーケンスを相互に変換する時のユーティリティ。
    GNU C++ (g++) でもコンパイル可能。

  8. CSV_converter/

    CSV ファイルの入出力を行うAPI。
    GNU C++ (g++) でもコンパイル可能。

  9. days/

    業務データでの「日付」項目(大抵は半角数字6桁や8桁で表される)を扱うユーティリティ。
    このユーティリティでは、西暦 1年 1月 1日から西暦 4294967295年 12月 31日までを扱えます。

  10. EUC_codes/

    外字を含む EUC-JP エンコード文字列を扱う時のユーティリティ。
    GNU C++ (g++) でもコンパイル可能。

  11. fair_copy/

    英語のスタイルで文字列を清書するユーティリティ。
    GNU C++ (g++) でもコンパイル可能。

  12. IEEE_Floating_Point/

    IEEE754 規格の浮動小数点数演算装置で二つの数の等しさを定義する方法を実装しました。
    Bruce Dawson による "Comparing floating point numbers" の "Comparing using integers" で述べられている、epsilon によらない浮動小数点数の比較方法に基づいています。
    GNU C++ (g++) でもコンパイル可能。

  13. monetary/

    金額を表すデータ項目を編集するユーティリティ。

  14. numeral/

    数値を表す数字文字列を英語/米語の表記に変換するユーティリティ。
    GNU C++ (g++) でもコンパイル可能。

  15. simple_hashing/

    データの挿入と削除が可能で、ハッシュ値の衝突時にはリンクト・リストを使用するハッシュ・テーブル API。
    GNU C++ (g++) でもコンパイル可能。

  16. sorting_linked_list/

    リンクト・リストを高速にソートするユーティリティ。
    GNU C++ (g++) でもコンパイル可能。

  17. SQL_quoting/

    SQL サニタイズを行うためのユーティリティ。
    GNU C++ (g++) でもコンパイル可能。