当前位置: 首页 > news >正文

strdup 函数

strdup 函数是 C 标准库中的一个函数,用于复制一个字符串。它的全称是 "string duplicate"。这个函数在 <string.h> 头文件中声明。strdup 函数会分配足够的内存来存储源字符串的副本,并将源字符串的内容复制到新分配的内存中。然后返回指向新字符串的指针。

以下是 strdup 函数的原型:

char *strdup(const char *s);

参数

  • s:指向要复制的源字符串的指针。

返回值

  • 成功时,返回指向新分配的字符串副本的指针。
  • 如果内存分配失败,则返回 NULL。

示例代码

#include <stdio.h>
#include <string.h>
#include <stdlib.h>int main() {const char *original = "Hello, World!";char *duplicate = strdup(original);if (duplicate != NULL) {printf("Original: %s\n", original);printf("Duplicate: %s\n", duplicate);free(duplicate);  // 记得释放分配的内存} else {printf("Memory allocation failed\n");}return 0;
}

注意事项

  • strdup 函数使用 malloc 来分配内存,因此需要使用 free 函数来释放这块内存,以避免内存泄漏。
  • strdup 不是 C89 标准的一部分,但在 POSIX 和一些 C99 实现中是可用的。如果在某些平台上不可用,可以自己实现一个类似的函数。
http://www.lryc.cn/news/525555.html

相关文章:

  • 2.9/Q2,Charls最新文章解读!
  • 【未完成】springboot项目实现扫码登录相关逻辑
  • html、js、css实现爱心效果
  • 【前端】Hexo 建站指南
  • OpenStack基础架构
  • 1905电影网中国地区电影数据分析(一) - 数据采集、清洗与存储
  • IPhone16 Plus 设备详情
  • 埃氏算法C++实现: 快速输出质数( 素数 )
  • 后端的config包中的常用配置
  • 基于亿坊PHP框架构建物联网解决方案的优势分析!
  • IoTDB结合Mybatis使用示例(增删查改自定义sql等)
  • skynet 源码阅读 -- 启动主流程
  • OpenCV:高通滤波之索贝尔、沙尔和拉普拉斯
  • UDP 广播组播点播的区别及联系
  • STM32补充——IAP
  • Jetson Xavier NX (ARM) 使用 PyTorch 安装 Open3D-ML 指南
  • 【C++高并发服务器WebServer】-1:Linux中父子进程fork创建及关系、GDB多进程调试
  • C语言数组详解:从基础到进阶的全面解析
  • docker的前世今生
  • python实现施瓦茨-克里斯托费尔【全网首个】根据用户输入推测函数
  • c语言中的数组(上)
  • Unity3D仿星露谷物语开发25之创建时钟界面
  • 数据结构测试题1
  • android wifi AsyncChannel(WifiManager和WifiP2pManager)
  • 【Image Captioning】DynRefer
  • Midjourney基础-常用修饰词+权重的用法大全
  • 没有屋檐的房子-023粪堆旁边的舞蹈
  • 基于Docker的Kafka分布式集群
  • 【博客之星】年度总结:在云影与墨香中探寻成长的足迹
  • SpringBoot的Swagger配置