危险的_strdup函数
来源:互联网 发布:js观察者模式应用 编辑:程序博客网 时间:2024/04/30 01:11
_strdup函数定义如下:
char * __strdup (const char *s) { size_t len = strlen (s) + 1; void *new = malloc (len); if (new == NULL) return NULL; return (char *) memcpy (new, s, len); }
从定义明显看出,如果进行字符串拷贝,声明了动态空间,但是并没有释放,会发生内存泄露的问题,解决的方法有两点:
1. 对于拷贝完的字符串,用完之后手动释放,例如:
char *tmp=_strdup(str);free(tmp);
2.尽量使用c++stl容器,比如string
string tmp=str;
string结束后,能够自动释放内存。
阅读全文
0 0
- 危险的_strdup函数
- _strdup()函数
- _strdup 的使用
- 一天一个CRT函数 _strdup
- strdup 和 _strdup 的使用及区别
- 危险函数
- 两个常用的危险字符过滤函数
- Python之eval()函数的危险
- C++危险的函数 strcpy strncpy
- 危险的两个函数GetCurrentDirectory和GetParent
- 一些需要禁用的PHP危险函数
- 危险:中断不可重入的函数
- 浅拷贝类型的危险构造函数
- C语言危险函数
- 如何关闭危险函数
- 使用三个函数(_strdup _strrev _stricmp)判断一个字符串是否对称
- 【原创】大话C、C++之 危险的拷贝构造函数
- 多层函数参数非const引用潜在的危险
- 数据结构与算法分析c++:栈的应用(1)
- 外部div宽度为100%,内部div宽度也为100%,内部div整体水平居中
- ABBYY FineReader 14新增功能
- WSingle站群系统,全网唯一支持【站群】的WordPress小说主题!
- SD/MMC卡初始化及读写流程
- 危险的_strdup函数
- 关于微信第三方平台$APPID$.wx.abc.com的问题
- andriodjie——MVP加RecycleView简单展示
- 板载电源设计
- V4L2源代码之旅六:源码追踪
- GO语言接口
- nodejs express 允许跨域访问(Access-Control-Allow-Origin)
- 周志华《Machine Learning》学习笔记(12)--降维与度量学习
- 共享篮球方案开发