6.4 KiB
6.4 KiB
title | author | date | wordtwit_post_info | categories | ||
---|---|---|---|---|---|---|
『プログラミング言語C 第2版 ANSI規格準拠』の勉強 | kazu634 | 2009-05-30 |
|
|
ようやく関数の項目まで入ってきました。とりあえず打ち込んだサンプルだけ、貼り付けておきますね。
今回は簡単な grep の実装だそうです:
#include <stdio.h> #define MAXLINE 1000 /* prototype declarations: */ int getline(char line[], int max); int strindex(char source[], char searchfor[]); /* Declaration */ char pattern[] = "ould"; /* program begins here: */ int main(int argc, char *argv[]) { char line[MAXLINE]; int found = ; while (getline(line, MAXLINE) > ){ if (strindex(line, pattern) >= ){ printf("%s", line); found++; } } printf("%d", found); return ; } /* getline: sに行を入れて、長さを返す*/ int getline(char s[], int lim) { int c, i; i = ; while (--lim > && (c = getchar()) != EOF && c != '\n') { s[i++] = c; } if (c == '\n'){ s[i++] = c; } s[i] = '\0'; return i; } /* strindex: sにおけるtのインデックスを返す。どこにもなければ-1を返す */ int strindex(char s[], char t[]) { int i, j, k; for (i = ; s[i] != '\0'; i++) { for (j = i, k = ; t[k] != '\0' && s[j] == t[k]; j++, k++) ; if (k > && t[k] == '\0') { return i; } } return -1; }
- 作者: B.W.カーニハン,D.M.リッチー,石田晴久
- 出版社/メーカー: 共立出版
- 発売日: 1989/06/15
- メディア: 単行本
- 購入: 28人 クリック: 721回
- この商品を含むブログ (206件) を見る