タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

c++とc99に関するmoozのブックマーク (1)

  • リリカル☆Lisp開発日記 » Blog Archive » with-open-fileをC++/C99で

    Common Lispにはwith-open-fileというマクロがあります。 (with-open-file (stream filename) ... (read-line s) ... ) このマクロは、ファイルをオープンして、 ここを抜けるときに自動的にファイルをクローズしてくれるというものです。 そのため、ファイルの閉じ忘れがおこりません。 このマクロをC++、もしくはC99で再現する方法を思いついたのでメモしておきます。 #define with_open_file(s,p,m) \ for(FILE *s=fopen(p,m); s; fclose(s),s=NULL) ... void hoge(char *path) { char buf[256]; with_open_file(fp, path, "r") { ... fgets(buf, sizeof(buf), f

    mooz
    mooz 2010/06/09
    マクロで for (FILE *s=fopen(p,m); s; fclose(s),s=NULL) としておくと, ブロック構文のように使える.
  • 1