Last Updated: Dec.8,2006

C Source Library

「LSI C-86 Ver.3.30c 試食版」、「Borland C++ 5.5」を使用しています。

必要になったとき、ネットを探せば色々なソフトが手に入る時代になりました。しかし、自分で使うものを自分で作るというのは大変楽しいものです。ここでは、そんなこんなで書いてみたソフトのソースを公開します。

タイトル 説明 LSIC BCC
ファイルを分割する(復元用バッチも出力) データの移動媒体にフロッピーディスクしか使えないときに便利。復元用のバッチファイルも同時に出力します。
C/C++ ソースを HTML 化する HTML 化する対象を C++ にまで拡張しました。別のやり方の古いソースはこちら
Perl ソースを HTML 化する 友人からの依頼で書いたものです。「Perl を始めよう!」の構文強調表示の研究にも役立ちました。随分昔のソースですが公開することにします。
パス操作関数(misc.h) 拡張子の付け替え、フルパス名からのファイル名抽出、パス名抽出等の関数。
テキストファイルの文字数を数える 現在、勤務先で使ってもらっている文字数カウントソフトの元になったコード。
テキストファイルを HTML 化する テキストファイルを HTML ファイルに変換します。
ファイルの16進ダンプ 何の形式のデータかわからないときに重宝します。
Macintosh → Windows 機種依存文字変換 Macintosh の機種依存文字を Windows 用に変換します。変換不能な場合は「・」を出力します。
文字の前景色・背景色を変更 DOS 窓において、文字の前景色や背景色を変更します。Windows 2000/XP ではうまく動かないかもしれません。その場合は、こちらを参照して下さい。
エラーコードの内容を Excel 用 CSV 形式ファイルで出力 Windows のシステム エラー コードとその内容を Excel で取り込み可能な CSV 形式ファイルに出力します。「,」「"」「\n(セル内の改行)」を含まないものも「"」で囲んでしまうなど若干手抜きですが読み込みに支障はありません。 ×
漢数字で表記された文字列から数値型を得る 漢数字を数値に変換します。いろいろな表記法に対応。
Excel ツールバー ファイルの削除 Excel ツールバー ファイル(*.xlb)の削除ツール。Excel が起動できなくなったり、終了時にエラーが出たりするときは、このファイルを削除するとほとんどの場合で正常に戻ります。 ×
Unicode/UTF-8 相互変換 Windows 2000/XP で使われる Unicode と UTF-8 との相互変換用です。
大文字のファイル名を小文字に変換 ファイル名がすべて大文字のものを小文字に変換します。 ×
機種依存文字を検索する シフト JIS で問題となる半角カナや拡張文字などの機種依存文字を検索します。 ×
ファイルをバイト配列で表示 プログラマくらいにしか使い道ないよね。
アラビア数字を漢数字表記にする 半角アラビア数字を漢数字表記に変換します。
エスケープ文字を使って文字列変換 入力文字列を C スタイルの文字列風な記述法に変換したり、戻したりするサンプル。複数行の文字列を単一行で表現したいとき便利。
ユニコードテキストの表示 UNICODE で保存されているテキストファイルを表示。
テーブルによる文字列置換 予め定義しておいた文字列置換テーブルに従い、ファイル内の該当文字列を置換します。改行やタブも置換対象に出来ます。
シフト JIS コードを EUC コードに変換する シフト JIS コードで書かれたテキストファイルを EUC コードに変換するサンプルです。
EUC コードをシフト JIS コードに変換する EUC コードで書かれたテキストファイルをシフト JIS コードに変換するサンプルです。
四則演算インタプリタ 再帰下降解析を利用した四則演算インタプリタです。ソースは単純なので、さらにいろいろと拡張してみると面白いでしょう。JavaScript でお遊びページをつくりました。
スペース → タブ変換 C 言語等のプログラムソースに使用すると文字定数や文字列定数内のスペースもタブに変換されてしまうので注意して下さい。
ビットマップをアイコンに変換 16x16、32x32 のビットマップをアイコンファイルに。
ttfCache, ShellIconCache などを削除 Windows では、ttfCache、ShellIconCache が肥大化したり、壊れたりするとフォントやアイコンの表示がおかしくなったりします。定期的に削除を行うようにするとよいかも知れません。 ×
「おしどり遊び」を解く 江戸時代からあるパズルだそうです。最短の手順を求めます。
パズルを解く(再帰を利用) あるとんでもない家族が川を渡るというパズルです。再帰を利用して解いています。もう少し単純な同系のパズルはこちら
「MacBinary II」のファイルからデータフォークを取り出す こんなツールが必要になることが意外にあるんです。MS-DOS ではファイル名に制限があるので、Borland C++ 5.5 でコンパイルしたものの方が使えます。
<参考> dev/info - MacBinary II Specs
数値文字参照の HTML に変換 数値文字参照(Numeric Character References 略してNCR)は非 ASCII 文字を ASCII 文字で表すという HTML 文書で用いられるエスケープ法。JavaScript でお遊びページをつくりました。 ×
Macintosh から送信された添付ファイルを識別 頭に%のついた添付ファイルからファイルタイプとクリエーターを読み取り、作成されたデータのアプリケーションと拡張子を推測する。  
半角カナを全角カナにする Windows リソースファイル中の文字を変換する時に便利。
x-mac-type から添付ファイルの拡張子を推定 Macintosh から送信された電子メールの x-mac-type(8桁の数字)から添付ファイルの拡張子を推定します。  
「BinHex 4.0」のデコード とりあえず動くようですが……。
<参考> info-mac/tech/binhex-definition.txt
 
0x5C(\) を含む2バイト文字をリストする シフト JIS でしばしば問題となる漢字の一覧。
印刷物の重量の算出(線形リストを利用) 入力データを溜め込むのに線形リストを使用。  
ディレクトリ中のファイルを一覧表示 MS-DOS の Dir コマンドっぽいもの。
10進数を2進数で表示する 誰でも一度は書いてます。
数並べパズルゲーム バラバラになっている 1~24 までの数字を並べるパズル。
じゃんけんゲーム 関数を配列に代入して利用する例。

▼ 掲載しているソースコードについて