S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
プログラム開発に動作テストやデバッグは必須。でもCGIの場合、実行結果はHTTPサーバを通じブラウザで見るので、通常と比べエラー出力の吟味などデバッグ作業がやや不便である。
だがpythonにはcgitbなるモジュールが用意されており、これがある程度克服できる。
import cgitb; cgitb.enable()とスクリプトの先頭に書いておくと、スクリプト実行に失敗した折にその内容がHTMLで見られる。
タイトルの通り。
CGIでやるならば、下記のような出力をCGIにさせればよい。
print "Location: http://www.issp.u-tokyo.ac.jp/\n\n"
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://www.issp.u-tokyo.ac.jp/">
カレントディレクトリのファイル一覧はlsやdirコマンドで取得できる。これをC言語からやるにはどうすればよいか?
system("ls")がひとつの解。でもコマンドを使わない方法もある。
#include <stdio.h> #include <dirent.h> unsigned int ListFilesAndCountFileNum(void){ DIR *dir; int filenum; struct dirent *dp; if((dir=opendir("./"))==NULL) return -1; filenum = 0; while((dp = readdir(dir)) != NULL){ filenum++; printf("#%d: %s\n", filenum, dp->d_name); } closedir(dir); return filenum-2; // subtracting current-directory (.) and parent-directory (..) }
int ListAndCountFiles(const TCHAR* mask){ WIN32_FIND_DATA w32fd; HANDLE hfind = FindFirstFile(mask, &w32fd); int i = 0; if (hfind != INVALID_HANDLE_VALUE) { do { i++; printf("#%d: %s\n", i, w32fd.cFileName); } while(FindNextFile(hfind, &w32fd)); } FindClose( hfind ); return i-2; // subtracting current-directory (.) and parent-directory (..) }
表題の通り。何の工夫もないが、時間を扱うためのコード雛形としてメモっとく。
#inlucde <stdio.h> #include <time.h> void log(const char* str){ FILE *fp; struct tm *st; time_t t; char month[][4] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; t = time(NULL); st = localtime(&t); fp = fopen("log", "a"); fprintf(fp, "%d %s %.2d: %.2d:%.2d:%.2d\n", st->tm_year+1900, month[st->tm_mon], st->tm_mday, st->tm_hour, st->tm_min, st->tm_sec); fprintf(fp, "%s\n\n", str); fclose(fp); }
汎用性ゼロの自分用日記。
普段メールの振り分けにmaildropを使用している。だがその振り分け先にいくつかmh形式でメールが配送されていることに気付いた。それらは皆ローカル宛メールだった。ローカル宛メールは取得の設定をした覚えがないので、それらが何故maildropの指定先に、しかもmh形式となって、ちゃっかり紛れているのか大変不思議に思った。
発見当時はかなり悩んだが、何てことはない、古い.procmailrcが残っていたのだ。maildropの振り分け先も基本的にそれを踏襲したので、紛らわしい場所に振り分けられてしまっていたのである。
教訓:後片付けを怠らない
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
最終更新時間: 2010-03-08 22:21