C语言找到所有输入行中包含特定字符串的行

来源:互联网 发布:百褶裙配什么外套知乎 编辑:程序博客网 时间:2024/05/03 13:31
 
#include <stdio.h>#define MAXLINE 1000 /*maximum input line length*/int getline(char line[], int max);int strindex(char source[], char searchfor[]);char pattern[] = "ould"; /*pattern to search for*/main(){char line[MAXLINE];int found = 0;while (getline(line, MAXLINE) > 0) {if (strindex(line, pattern) >= 0) {printf("%s", line);found ++;}}return found;}/*getline : get line into s, return length */int getline(char s[], int lim){int c, i ;i = 0;while ( --lim > 0 && (c = getchar()) != EOF && c != '\n') {s[i++] = c;}if (c == '\n') {s[i ++] = c;}s[i] = '\0';return i;}/*strindex : return index of t in s, -1 if none*/int strindex(char s[], char t[]){int i , j , k ;for (i = 0; s[i] != '\0'; i ++) {for (j = i, k = 0 ; t[k] != '\0' && s[j] == t[k]; k ++, j ++) {// do nothing}if (k >= 0 && t[k] == '\0') {return i;}}return -1;}

原创粉丝点击