memchr
-- 在内存空间中搜索一个字符
memcmp
-- 比较内存空间
memcpy
-- 拷贝内存空间
memmove
-- 拷贝内存空间
memset
-- 使用一个常量字节填充内存空间
strcat
-- 连接字符串
strcmp
-- 比较字符串
strcpy
-- 拷贝字符串
strlen
-- 获取字符串的长度
strncat
-- 连接字符串(受限)
strncmp
-- 比较字符串(受限)
strncpy
-- 拷贝字符串(受限)
1. memchr
#include<stdio.h>
#include<string.h>
int main()
{
char str
="Hello World!";
char *pstr
=0;
pstr
=(char*)memchr(str
,'W',100);
if(ptr
!=0) printf("找到字符W");
else printf("没找到字符W");
return 0;
}
2. memcmp
#include<stdio.h>
#include <string.h>
int main()
{
char str1
[10] = "tql";
char str2
[10] = "tql";
if (memcmp(str1
, str2
, 10) == 0)
printf("两个内存空间完全一致!\n");
else
printf("两个内存空间不一致!\n");
return 0;
}
3. memcpy
没看懂 下一个
4. memmove
同上
5.memset
用于初始化
例如 memset(c
,0,sizeof(c
))
;
tips:
mem 开头的主要是用于针对内存空间处理,不过由于内存空间的单位也是字节(跟字符串一
样),所以看着两个函数是一样的(事实上返回值就不一样了,一个是返回
char *,一个是
返回
void *)。不过在一定的条件下,mem 打头的效率要高一些。
6.strcat
#include <stdio.h>
#include <string.h>
int main()
{
char str1
[100] = "Hello";
char str2
[] = "World!";
printf("str1: %s\n", str1
);
strcat(str1
, " ");
printf("str1: %s\n", str1
);
strcat(str1
, str2
);
printf("str1: %s\n", str1
);
return 0;
}
7. strcmp
#include <stdio.h>
#include <string.h>
int main()
{
char str1
[10] = "FishC.com";
char str2
[20] = "FishC.com";
if (!strcmp(str1
, str2
))
printf("两个字符串完全一致!\n");
else
printf("两个字符串不同!\n");
return 0;
}
8. strcpy
#include <stdio.h>
#include <string.h>
int main()
{
char str1
[] = "Original String";
char str2
[] = "New String";
char str3
[100];
strcpy(str1
, str2
);
strcpy(str3
, "Copy Successful");
printf("str1: %s\n", str1
);
printf("str2: %s\n", str2
);
printf("str3: %s\n", str3
);
return 0;
}
9.strlen
懂得都懂
10.strncat
#include <stdio.h>
#include <string.h>
int main()
{
char str1
[20] = "Hello";
char str2
[20] = "World";
strncat(str1
, " ", 2);
strncat(str1
, str2
, 10);
printf("str1: %s\n", str1
);
return 0;
}
11. strncmp
#include <stdio.h>
#include <string.h>
int main()
{
char str1
[40] = "FishC";
char str2
[40] = "FishC.com";
if (!strncmp(str1
, str2
, 5))
printf("str1和str2前5个字符相同!\n");
else
printf("str1和str2前5个字符不同!\n");
return 0;
}
12. strncpy
#include <stdio.h>
#include <string.h>
int main()
{
char str1
[] = "To be or not to be";
char str2
[];
char str3
[];
strncpy(str2
, str1
, sizeof(str2
));
strncpy(str3
, str2
, 5);
str3
[5] = '\0';
printf("%s\n", str1
);
printf("%s\n", str2
);
printf("%s\n", str3
);
return 0;
}