#99 Article 1004 Posted at 1995/12/09 12:34:04 by 夢中ゆわ (MAP2717) [SAHOU.2]
Subject: Re: プログラミング作法・お題2 /995
Cでやってみました。
------------------- asuka.c -------------------
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* MAPLE文字列の検索など、 */
/* このファ~レンのアスカ皇女にかかれば */
/* 造作も無い事なのぢゃ! */
/* */
/* 嗚呼、また姫の悪い癖が… */
/* */
/* なんか言ったか? いえ、別に… */
#define LEN 2000 /* とりあえず2千文字用意するのぢゃ */
int main(void)
{
char linebuff[LEN],*p; /* 行バッファとポインタなのぢゃ */
unsigned long count=0; /* MAPLEを数えるのぢゃ */
FILE *fpread; /* ファイルポインタなのぢゃ */
if ((fpread=fopen("LOG","r")) == NULL)/* ファイルを開くのぢゃ */
{
printf("ファイル\"LOG\"が見つからないのぢゃ。\n");
exit(1); /* もうヤメなのぢゃ */
/* そ、そんなアスカさま… */
}
printf("現在、検索中なのぢゃ!しばし待てぃっ\n");
while (fgets(linebuff,LEN-1,fpread)) /* ファイルから1行読み込むのぢゃ */
{
putchar('.');
p = linebuff;
while (p = strstr(p,"MAPLE")) /* 文字を探すのぢゃ */
{
count++; /* みぃつかったのぢゃ~ */
p++; /* うれしいのぉ */
}
}
putchar('\n');
if (ferror(fpread)) /* ファイルが読めないのぢゃ */
{
printf("読めないのぢゃ~\n");
printf("今迄に\"LOG\"は%ld個あったのぢゃ。\n",count);
exit(2); /* もう、イ・ヤぢゃ~~ */
/* いけませんアスカさま */
}
printf("\"LOG\"は全部で%ld個あったのぢゃ。\n",count);
fclose(fpread); /* おわるのぢゃ */
}
------------------- end -------------------
工夫点。特になし(^^;)
ただ、大きいファイルだと、検索しているのかフリーズしてるのかわからず
気持ち悪いのでメータを入れたのぢゃ。
whileの()の中に文を入れるのぢゃ。でも割とメジャーかもしれんのぢゃ。
バッファとポインタが1対1なら一緒に宣言してしまうのぢゃ。
この課題って、各人の取るバッファの大きさが見所???(^^;)
#MAP2717 夢中ゆわ