#99 Article 998 Posted at 1995/12/08 21:39:56 by MEX (MAP5294) [SAHOU.2]

Subject: Re: プログラミング作法・お題2 /995

#include <stdio.h>
#include <string.h>

static const char *filename = "LOG";
static const char *keyword = "MAPLE";
static char s[256];

int main(void)
{
  FILE *f;
  char *p;
  int i = 0;
  int ret = 0;

  if(f = fopen(filename, "r"))
  {
    while(fscanf(f, "%255s", p = s) != EOF)
    {
      while(p = strstr(p, keyword))
      {
        i++;
        p += strlen(keyword);
      }
    }
    if(ferror(f)) ret = 1;
    if(fclose(f)) ret = 1;
  }
  else
  {
    ret = 1;
  }

  if(ret)
  {
    fprintf(stderr, "file read error.\n");
    return ret;
  }
  else
  {
    printf("%d\n", i);
    return ret;
  }
}

診断: なんとか動きますが、読み込み動作が多いので遅いです。
      文字列が256以上になるとちゃんとカウントできませんトホホ
      それと入力はあくまでもテキストファイルです。
   ASMはこれから書きます(^^;

MAP5294 MEX