![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
安全
文章平均质量分 52
missilery
这个作者很懒,什么都没留下…
展开
-
缓冲区的非法操作
本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。 msn: yfydz_no1@hotmail.com 来源:http://yfydz.cublog.cn1. 前言 本文所描述的缓冲区可以是静态的,如通过数组方式定义;也可以是动态的,如通过malloc等函数分配的。 2. 非法操作 对转载 2012-01-21 13:20:56 · 585 阅读 · 0 评论 -
STRNCPY的使用方法及与STRCPY的区别
http://www.51testing.com/?uid-71943-action-viewspace-itemid-66887strcpy ,strncpy ,strlcpy好多人已经知道利用strncpy替代strcpy来防止缓冲区越界。但是如果还要考虑运行效率的话,也许strlcpy是一个更好的方式。1. strcpy我们知道,strcpy 是依据 \0 作为结转载 2012-01-21 13:30:59 · 487 阅读 · 0 评论 -
多线程使用不可重入函数localtime要互斥
这个问题是在付出了惨重的代价之后才发现的,多线程使用不可重入函数相当于共享一块内存,必须使用同步手段来使用,加锁互斥或者使用可重入版本的函数。比如localtime,将一个time_t类型的时间转成tm结构体,就是一个不可重入函数,例如有以下两个线程: thread1: 1.tm1 = localtime(&time1);2.tm1->tm_second -= 10;/转载 2012-01-21 13:38:41 · 807 阅读 · 3 评论 -
使用snprintf函数时的两点注意事项
使用snprintf函数时要注意两点,这是我看过无数使用这个函数的程序员绝大部分都存在的两点隐患: 比如: char buf[LEN]; int n = snprintf(buf, LEN, "%s%d%s", str1, int2, str3);1.snprintf会自动在格式化后的字符串尾添加\0, 所有格式化长度,也就是第二个参数没有必要用LEN-1转载 2012-01-21 12:58:24 · 782 阅读 · 0 评论