Print New

HOME > Free Downloads > Print New
 [Search]  [Site Map]

指定されたファイルの更新が一定時間以内なら、文字列を出力します。

motchie.comで日記をつけはじめると、訪れた方はまず日記をクリックして、そのまま去って行かれる方が多いので、日記以外のコンテンツが更新された場合、1日間は"NEW!"とでも表示しておこうと思ったのがきっかけです。それ以上の機能はありません。

ぼくはCのプログラムを組んだ経験はほとんどないので、とっても稚拙なプログラムになっています。叱咤激励、その他ご意見をお待ちしています。

これを使ってみようとおっしゃる方。感謝感激です。お役に立ててとても嬉しいです。このプログラムは、Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86、つまりMicrosoft Visual C++ 6.0のコンパイラと、FreeBSD 3.3-RELEASE上のGNU project C and C++ Compiler (v2.7)で動作を確認しています。見てお分かりいただける通り、FILENAMEマクロを更新をチェックしたいファイルへのパスに、さらに更新からどれだけの間NEWと表示し続けるかを、秒単位で指定する必要があります。それは、NEWと表示している部分のすぐ真上のif文を調整していただければ結構です。

Webサイトで用いる場合は、SSIなどを用いてページに埋め込んでください。

わざわざ圧縮するまでもないので、以下にソースを示します:


#include  <time.h>
#include  <sys/types.h>
#include  <sys/stat.h>
#include  <stdio.h>

#define   FILENAME "/path/to/your/file"

int main( ) {

  struct  _stat buf;
  int     result;
  time_t  ltime, atime;
  double  elapsed_time;

  #ifdef _WIN32
    result = _stat( FILENAME, &buf );
  #else
    result =  stat( FILENAME, &buf );
  #endif

  if( result ) {
    atime = buf.st_mtime;
    time( &ltime );

    elapsed_time = difftime( ltime, atime );

    if( elapsed_time <= 86400 ) {
      printf( "NEW!!" );
    }

  }

  return 0;

}
 [GO! Sophisticated Page!]  [Valid HTML 4.01!]  [Valid CSS!]