c/c++
lihuixue_amy
这个作者很懒,什么都没留下…
展开
-
sizeof 和 strlen 的区别
1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小。2.sizeof是算符,strlen是函数。 3.sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以/0结尾的。sizeof还可以用函数做参数,比如: short f();printf("%d/n", s转载 2007-12-13 18:36:00 · 445 阅读 · 0 评论 -
strcpy,strncpy,strlcpy,memcpy
好多人已经知道利用strncpy替代strcpy来防止缓冲区越界。但是如果还要考虑运行效率的话,也许strlcpy是一个更好的方式。1. strcpy我们知道,strcpy 是依据 /0 作为结束判断的,如果 to 的空间不够,则会引起 buffer overflow。strcpy 常规的实现代码如下(来自 OpenBSD 3.9):char *strcpy(char *to, const转载 2007-12-13 18:45:00 · 1354 阅读 · 0 评论 -
c 截取字符串函数代码实现
char* substr(const char*str,unsigned start, unsigned end){ unsigned n = end - start; static char stbuf[256]; strncpy(stbuf, str + start, n); stbuf[n] = 0; return stbuf;} c中strncpy也可以实现这个功能原创 2007-12-13 18:47:00 · 36856 阅读 · 4 评论