linux的strdup与strndup
strdup()函数是c语言中常用的一种字符串拷贝库函数,一般和free()函数成对出现。
strdup()在内部调用了malloc()为变量分配内存,不需要使用返回的字符串时,需要用free()释放相应的内存空间,否则会造成内存泄漏。
一、strdup函数
函数原型
头文件:#include <string.h>
char *strdup(const char *s);
功能:将字符串拷贝到新建的位置处
返回值 :返回一个指针,指向为复制字符串分配的空间。如果分配空间失败,则返回NULL值。
#include <stdio.h>
#include <string.h>
#include <alloc.h>int main(void) { char *dup_str, *string = "abcde";dup_str = strdup(string); printf("%s\n", dup_str); free(dup_str);return 0;
}
二、strndup函数
函数原型#include <string.h>
char *strndup(const char *str, size_t len);
#include <stdio.h>
#include <string.h>
#include <alloc.h>int main(void){char *dup_str, *string = "abcde";dup_str = strndup(string,6);printf("%s\n", dup_str);free(dup_str);return 0;}
linux的strdup与strndup相关推荐
- Linux字符串处理函数strdup、strndup、strndupa、strdupa
一.函数族strdup.strndup.strndupa.strdupa strdup函数原型: strdup()主要是拷贝字符串s的一个副本,由函数返回值返回,这个副本有自己的内存空间,和s不相干. ...
- c语言 函数strdup,C/C++ strdup()、strndup()用法及代码示例
strdup()和strndup()函数用于复制字符串. strdup(): 用法: char * strdup(const char * s); 此函数返回一个以空值结尾的字节字符串的指针,该字符串 ...
- strdup和strndup函数
首先说明一下:这两个函数不建议使用,原因是返回内存地址把释放权交给别的变量,容易忘记释放. 一.strdup函数 函数原型 头文件:#include <string.h> char *st ...
- linux c strdup 字符串拷贝
#include <string.h> char *strdup(const char *s); 函数介绍: strdup()函数是c语言中常用的一种字符串拷贝库函数,一般和free()函 ...
- C语言 -- string.h中函数功能详解与手动实现 - 02(常用函数memcpy、memmove、strcpy、strdup、strcat、strtok...)
内容预览 3.5.搬迁类型 --- 函数功能详细说明 :将内存空间中内容移动.复制到另一内存空间 3.6.搬迁类型 --- 函数功能测试与手动实现 3.6.1.memcpy.memccpy 3.6.2 ...
- php调用C代码的方法详解和zend_parse_parameters函数详解
来源:http://my.oschina.net/Customs/blog/490873 http://blog.csdn.net/super_ufo/article/details/3863731 ...
- 使用valgrind对gperftools(tcmalloc)进行内存泄漏和越界检测
使用valgrind对gperftools(tcmalloc)进行内存泄漏和越界检测 RToax 2021年3月 1. 问题引入 在<内存分配器ptmalloc,jemalloc,tcmallo ...
- 6、宏定义与预处理、函数与函数库
C语言预处理理论 由源码到可执行程序的过程 源码.c->(编译)->elf可执行程序 源码.c->(编译)->目标文件.o->(链接)->elf可执行程序 源码.c ...
- 大内高手 内存管理器
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 大内高手 ...
最新文章
- 用最少的时间学最多的数据挖掘知识(附教程数据源)| CSDN博文精选
- [Ms SQL] 基本創建、修改與刪除
- Knn算法(机器学习)入门(Python实现)
- NoSQL还是SQL?这一篇讲清楚
- 在整个数据库中查找包含某关键字的所有存储过程
- python查找指定文件路径_Python寻找路径和查找文件路径的示例
- python动态类型的坑_在Python中避免动态类型错误的策略是什么(NoneType没有属性x)?...
- Java编程软件教学:Eclipse入门
- 计算机的网络说课稿模板,小学信息技术说课稿优秀模板
- .net Core 3.1 项目打包部署到Windows服务
- linux版flash下载工具,Linux系统下安装Flash浏览器插件的方法
- QGIS 影像图黑色背景去除
- 零基础入门进化算法(基本概念)
- 阿里云海外云服务器5折起,新老用户均可选购(免备案)
- html怎么在表格中加虚线,html设置虚线边框的方法详细介绍
- Neno和OpenMP的性能提升验证
- 【Javascript】【视频录制】通过video标签和canvas实现视频截图录制和下载
- 类似qq的汉字拼音首字查询
- 关于http的Authorization
- 最小二乘法(Ordinary Least Squares)