このプログラムは、ANSI C です
ホームページにカウンターを付けてみませんか ?
といっても、インターネット上には、もっと綺麗で、格好良く、フリーのプログラムがあります
しかし、良かったら使ってください
ソースファイルの、カウントを記録するファイルのディレクトレリや、ロックファイルを作成するディレクトリを、自分の環境に合わせて、書き換えてください
そして、コマンドラインで実行して、うまく行ってから、ホームページに載せましょう
それから、分からない事は、気軽に電子メールを送ってください
しかも、自分の大学の WWW Sever しか、確実な方法は、知りませんので、電子メールでの質問に答えられるかどうか.....(^_^)
- 第一版
- (忘却のかなた) MS-DOS 版....
- 第一版2
- (2005/11/18) Win32上の MS-VisualC++6.0SP6 でコンパイルしたものを同梱した。
一応、著作権を保持するようにした。
- 第一版3
- (2019/11/07) ライセンスを BSD にした。32Bit以上の数値に対応した。
ソースの中の isdigit(a) が、暴走(カウントが 48 で止まる(自分の大学の sever))するので(原因不明で(^_^))
そこの if 文は、はずした方がいいかもしれません
一応、著作権は保持します。プログラムの実行・改変においては、各自自分の責任でしてください。
- 利用対象者
-
- プログラミングの経験が少しある。
- C のソースをコンパイルできる。
- C を少し知っている。
- download
-
- source file & MS-DOS Binary & Win32 Binary
- count_c.lzh (48,978byte) (count_c.lzh.base64)
リターン・コードは、UNIX 系です
使い方、及びソースの説明
8 - 13 行目は、変数を宣言しています
12 行目と 13 行目は、カウントファイルとロックファイルを指定しています
えっと、既に別にこのプログラムが動いていて、これも、そのまま続ければ、同時に、カウントファイル(カウント数を記録するファイル)をアクセスする事になり、カウントファイルを壊す可能性があります
そこで
15 - 38 行目は、ロックファイルの cou_temp.txt が存在すれば(ファイルオープンしてエラーにならない)、 18 - 33 行目を実行します
その後に、もう一度チェックして、まだあれば、もう一度 18 - 33 行目を実行します
無ければ、次に進みます
そして、 5000 回、チェックしても、次に進めなければ、別のエラーの可能性が在るので、エラーを表示して終了します( 28 - 32 行目)
40 - 48 行目は、同時アクセス防止のための、ロックファイルを作成します
50 - 55 行目は、カウントファイルをオープンします
56 行目は、カウントファイルから入力します
60 - 69 行目は、カウントファイルから入力したデータが、数字かどうかチェックします(自分の大学では、カウントが 48 になると、エラーをするので、自分の Home Page では、外してあります(^_^))
数字ならば、a=a+1 をして、標準出力に出力します
71 - 79 行目は、カウントファイルに書き込みます
82 行目は、ロックファイルを削除します
注意は、カウントファイルや、ロックファイルを読み込む fopen() や 削除する remove() 関数のディレクトリ(またはフォルダ)を、しっかり!指定してください
大概のエラーは、ディレクトリ(フォルダ)関連とアクセス権限だと思います。
IIS 4.0 では SSI のカレントディレクトリに注意してくださいね
注意は、カウントファイルを、あらかじめ用意してください。
これを、 SSI (Sever Side Include) の文書に
<!--#exec cmd="count_c.exe"-->のタグを入れれば O.K. です
(ディレクトリ(またはフォルダ)をしっかり指定してください)
なにかあればmail to active@window.goukaku.com