#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<assert.h> #include<stdlib.h> #define MAX 1000 int getline(char *line, int limit) { int ch = 0; int i = 0; while (limit-- && ((ch = getchar()) != EOF) && (ch != '\n')) { line[i++] = ch; } if (ch == '\n') { line[i++] = '\n'; } line[i] = '\0'; return i; } char *my_strstr(char *arr1,char *arr2) { assert(arr1); assert(arr2); char *p = arr1; char *s1 = p; char *s2 = arr2; while (*s1 != '\0') { s1 = p; s2 = arr2; while ((*s1 != '\0') && (*s2 != '\0') && (*s1 == *s2)) { s1 ++; s2 ++; } if (*s2 == '\0') { return p; } p++; } return NULL; } int main() { char *p = "ould"; char line[MAX] = {0}; while (getline(line, MAX - 1)) { if (my_strstr(line, p)) { printf("%s\n", line); } } system("pause"); return 0; }