[1].[代码] [C/C++]代码 跳至 [1]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
//
// main.c
// test
//
// Created by gisjxd on 15/7/17.
// Copyright (c) 2015年 lalal. All rights reserved.
//
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int
main(
int
argc,
const
char
* argv[])
{
char
str[] =
"hello welcome to china\0"
;
//源字符串
printf
(
"input a string:\n"
);
char
str2[20];
//要查找的字符串
fgets
(str2, 19, stdin);
char
*res;
res =
memchr
(str, str2[0],
strlen
(str));
//根据要查找的字符串第一个字符,切割源字符串
if
(res == NULL)
{
printf
(
"find nothing...\n"
);
return
0;
}
int
n;
while
(1)
{
n =
memcmp
(res, str2,
strlen
(str2) - 1);
//比较
if
(n != 0)
{
if
(
strlen
(res) <=
strlen
(str2))
//切割出的字符串小于要查找字符串的长度
{
printf
(
"find nothing...\n"
);
return
0;
}
else
{
//根据要查找的第一个字符继续切割
res =
memchr
(res + 1, str2[0],
strlen
(res));
if
(res == NULL)
{
printf
(
"find nothing...\n"
);
return
0;
}
}
}
else
{
//如果n = 0,找到
printf
(
"%s is found..\n"
, str2);
return
0;
}
}
}
|