首先说明一下:这两个函数不建议使用,原因是返回内存地址把释放权交给别的变量,容易忘记释放。

一、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;}

转载于:https://www.cnblogs.com/yinguojin/p/10195700.html

strdup和strndup函数相关推荐

  1. c语言 函数strdup,C/C++ strdup()、strndup()用法及代码示例

    strdup()和strndup()函数用于复制字符串. strdup(): 用法: char * strdup(const char * s); 此函数返回一个以空值结尾的字节字符串的指针,该字符串 ...

  2. Linux字符串处理函数strdup、strndup、strndupa、strdupa

    一.函数族strdup.strndup.strndupa.strdupa strdup函数原型: strdup()主要是拷贝字符串s的一个副本,由函数返回值返回,这个副本有自己的内存空间,和s不相干. ...

  3. linux的strdup与strndup

    strdup()函数是c语言中常用的一种字符串拷贝库函数,一般和free()函数成对出现. strdup()在内部调用了malloc()为变量分配内存,不需要使用返回的字符串时,需要用free()释放 ...

  4. strdup等c函数

    linux C函数之strdup函数分析 https://blog.csdn.net/tigerjibo/article/details/12784823 #include <syslib.h& ...

  5. c语言strdup函数_在C / C ++中使用strdup()函数的指南

    c语言strdup函数 In this article, we'll take a look at using the strdup() function in C/C++. 在本文中,我们将研究在C ...

  6. C语言 -- string.h中函数功能详解与手动实现 - 02(常用函数memcpy、memmove、strcpy、strdup、strcat、strtok...)

    内容预览 3.5.搬迁类型 --- 函数功能详细说明 :将内存空间中内容移动.复制到另一内存空间 3.6.搬迁类型 --- 函数功能测试与手动实现 3.6.1.memcpy.memccpy 3.6.2 ...

  7. linux C函数之strdup函数分析【转】

    本文转载自:http://blog.csdn.net/tigerjibo/article/details/12784823 linux C函数之strdup函数分析 一.函数分析 1.函数原型: [c ...

  8. C语言:strdup函数的使用

    一.函数分析 1.函数原型: #include <string.h> char *strdup(const char *s); 2.功能: strdup()函数主要是拷贝字符串s的一个副本 ...

  9. 字符串复制函数strdup和_strdup

    字符串复制函数strdup和_strdup 函数原型 #include <string.h> char *strdup(const char *s); strdup()函数是c语言中常用的 ...

最新文章

  1. 图片资源 php,php图片转为资源数据
  2. 【计算机网络】传输层 : 总结 ( TCP / UDP 协议 | 寻址与端口 | UDP 协议 | TCP 协议特点 | TCP 连接释放 | TCP 流量控制 | TCP 拥塞控制 ) ★★★
  3. 1.18 Java匿名类,匿名内部类
  4. C#中Math的使用总结
  5. arcgis渔网分割提取栅格图_【操作】ArcGIS中字段的合并、分割、提取
  6. 【POJ - 1995】Raising Modulo Numbers(裸的快速幂)
  7. 四、数据预处理——处理连续型特征:二值化与分段
  8. FusionCharts 中文乱码
  9. 说说自动学习,是什么样的境界和体验
  10. 安徽初二计算机考试试题,安徽省八年级信息技术会考题库
  11. Chrome插件开发入门
  12. android监听系统来电并弹出提示窗口,Android 监听来去电 弹出悬浮窗提示
  13. 在数字乳腺X照片中基于小波分析和统计分析的微钙化检测新特征
  14. 版权和商标权有什么关系?版权和商标的区别在哪里?
  15. 索尼android sd卡上,SD卡各个文件夹功能详解 入手必看经验!!!!
  16. 分布式系统和分布式数据库系统(介绍篇)
  17. 使用LocalDate类计算两个日期的天数间隔
  18. Windows-EmEditor emed_v1910 超大文本编辑器
  19. 元宇宙,真的是人类的“死路”吗?
  20. 一个工科生对财富认知初探

热门文章

  1. 构师接龙: 王速瑜VS.林昊
  2. php show.bs.popover,POP提示 (Popover)
  3. 报错解决方案- backward
  4. 蚂蚁实时低代码研发和流批一体的应用实践
  5. 三十.结束语句之break语句
  6. OpenHarmony JS 前端开发 基础入门教程总结
  7. Windows10 凌晨自动重启
  8. c语言程序10进制转2进制,C语言十进制数转换为二进制数
  9. 企业网络营销发展前景趋势分析
  10. 「星际崛起」精彩瞬间,直播间万元奖品大放送