大家好,我是陈景序,今天我们来聊聊C语言中那些常用的
什么是?
- 字符串处理函数:以'str'开头,如strcpy, strlen。
- 内存处理函数:以'mem'开头,如memcpy, memset。
字符串处理函数
下面我将详细介绍几个常用的字符串处理函数,包括它们的模拟实现。
memchr
功能:用于在内存块中搜索指定字符的第一个匹配位置。
void *my_memchr(const void *ptr, int value, size_t num) {
const unsigned char *p = (unsigned char*)ptr;
unsigned char target = (unsigned char)value;
for (size_t i = 0; i < num; i++) {
if (p[i] == target) {
return (void *)(p + i);
}
}
return NULL;
}
memcmp
功能:用于按字节比较两块内存区域的内容。
int my_memcmp(const void *ptr1, const void *ptr2, size_t num) {
const unsigned char *p1 = (const unsigned char *)ptr1;
const unsigned char *p2 = (const unsigned char *)ptr2;
for (size_t i = 0; i < num; i++) {
if (p1[i] != p2[i]) {
return (int)(p1[i] - p2[i]);
}
}
return 0;
}
memcpy
功能:用于将一段内存数据复制到另一段内存。
void *my_memcpy(void *destination, const void *source, size_t num) {
char* d = (char*)destination;
const char* s = (char*)source;
for (size_t i = 0; i < num; i++) {
d[i] = s[i];
}
return destination;
}
其他函数
除了上面提到的函数,
小结与拓展
通过对
我是陈景序,来自websoft网络软件专家(www.phpwebsoft.com),如果你对Web开发或PHP技术感兴趣,欢迎关注我们的网站,获取更多精彩内容。
