欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C语言;在终端输入多行信息,找出包含“ould”的行,并打印改行。

程序员文章站 2022-04-18 13:17:52
#define _CRT_SECURE_NO_WARNINGS 1 #include #include #i...
#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;
}