C语言函数
文章平均质量分 75
fyl_csdn
这个作者很懒,什么都没留下…
展开
-
C语言函数_string.h 之 内存comparison函数memcmp
memcmp 原型: int memcmp(const void *ptr1, const void*ptr2, unsigned int count); 功能: memcmp用于比较内存区域ptr1和ptr2的前count个字节,是按字节进行比较的。 头文件: string.h 或 memory.h 返回值: ((c原创 2015-05-27 14:24:48 · 653 阅读 · 0 评论 -
C语言函数_string.h 之 字符串comparison函数strcmp
strcmp 原型: int strcmp( const char *str1, const char *str2); str1和str2均为要比较的字符串或者字符数组 功能: 比较两个字符串的大小,比较方法是:自左向右逐个字符地比较两个字符串的大小(以ASCII值表为顺序依据,如'a'比'A'大),直到出现不同的字符或者'\0'时返回原创 2015-05-28 03:48:44 · 1210 阅读 · 0 评论 -
C语言函数_string.h 之 内存copy函数memmove
上一篇文章用C语言实现了最简单(逐字节复制)的内存复制函数memcpy(),但memcpy()函数有一个问题是:不能保证src和dest所指内存区域不会出现重叠的情况,没有重叠区域,只能靠程序员来保证。所谓的内存重叠,就是复制的目的地址的首地址出现在源地址范围内,如下图:上面的表示没有内存重叠,下面的则表示有内存重叠 【图片来自网上】 程序例子,比如: char p[20] = "abcde原创 2015-05-01 22:26:16 · 623 阅读 · 0 评论 -
C语言函数_string.h 之 内存填充函数memset
memset,从名字上大概可以猜测到是memery set的意思,也就把内存设置为某个值,事实上的确如此。memset把一块内存设置为指定的值,它的原型为: #include or #include void *memset( void *buffer, int num, size_t count); 它把从buffer所指向的内存开始,使用num对连续count字节进行赋值,并且它的返原创 2015-05-18 01:27:48 · 2973 阅读 · 0 评论 -
C语言函数string.h 之 内存copy函数memcpy
昨天去国迈科技公司面试,其中有一道笔试题是实现内存复制函数memcpy(),记得在网上有很多人讨论过这样的题目,但并没有自己写代码实现过。 我在答题卡上给出的代码如下(带下划线红色字为有误或设计不良的地方): void *memcpy(void *desc, const void *src, size_t n) { char *p = desc; char *q = src; int i原创 2015-05-01 01:16:11 · 3805 阅读 · 0 评论 -
C语言函数_string.h 之 内存search函数memchr
memchr 原型: extern void *memchr(const void *ptr, int value, size_t count); 功能: 从ptr所指向的内存开始的前count个字节中查找字符value,如果查找成功则返回字符value首次出现的位置(指针),否则返回NULL。 其中ptr会被解析成char *类型,value会被解析成unsigned char类型。 m原创 2015-05-20 01:32:27 · 965 阅读 · 0 评论