# HG changeset patch # User nobuyasu # Date 1296443244 -32400 # Node ID 80a0c0eb67e0e5320d34081b91be226890e7054f # Parent 60596de1cb2cb3cedb423ca9d585df9871be0d30 while diff -r 60596de1cb2c -r 80a0c0eb67e0 read.c --- a/read.c Mon Jan 31 03:50:41 2011 +0900 +++ b/read.c Mon Jan 31 12:07:24 2011 +0900 @@ -6,7 +6,6 @@ int grep(char* string, char* pattern); - int main(int argc, char **argv) { FILE *fp; @@ -14,7 +13,6 @@ char *filename; char *pattern; - if(argc > 2) { pattern = argv[1]; filename = argv[2]; @@ -30,7 +28,8 @@ while( (fgets(string, MAX_LEN - 1, fp)) != NULL){ string[strlen(string) - 1] = '\0'; - grep(string, pattern); + if(grep(pattern, string )) + puts(string); } fclose(fp); @@ -38,16 +37,19 @@ return 0; } -int grep(char* string, char* pattern) + +int grep(char* pattern, char* string) { + char *pattern_; char *str_; - char *pattern_; + do{ - str_ = string; - pattern_ = pattern; - }while(*pattern_++ == *str_++); - if(*pattern_ == '\0') - return 1; - while(*++string != '\0'){} - return 0; + pattern_ = pattern; + str_ = string; + while(*pattern_++ == *str_++) + if(*pattern_ == '\0') + return 1; + }while(*++string != '\0'); + if(*str_ == '\0') + return 0; } diff -r 60596de1cb2c -r 80a0c0eb67e0 test.txt --- a/test.txt Mon Jan 31 03:50:41 2011 +0900 +++ b/test.txt Mon Jan 31 12:07:24 2011 +0900 @@ -1,7 +1,5 @@ -iuisdufi - +aiuisdufi ababcifuiasdufiasd - asdfiuasdoifj