简述strcpy、sprintf、memcpy

简介: 简述strcpy、sprintf、memcpy

简述strcpy、sprintf、memcpy的区别

重点1

  1. strcpy、sprintf、memcpy的用法举例。
  2. sprintf(buff_a, "%s", buff_b)时与strcpy(buff_a, buff_b)效果相同。
//strcpy、sprintf
#include <stdio.h>
#include <string.h>
int main() {
  char buff_a[64] = {'z', 'z', 'z', 'z','z', 'z'};
  char buff_b[64] = {'a', 'b', 'c', '\0', 'd'};
  char *str = strcpy(buff_a, buff_b);  //str = abc 会将‘\0’一起复制过去
  printf("str=%s, buff_a= %s\n", str, buff_a);
  //buff_a= len:6 str:abc addr:0x7fff9bbe25a0
  int n = sprintf(buff_a, "len:%d str:%s addr:%p", 6, buff_b, buff_b);  
  printf("n=%d, buff_a= %s\n", n, buff_a);
}
代码执行结果:
str=abc, buff_a= abc
n=33, buff_a= len:6 str:abc addr:0x7fff9bbe25a0

重点2

memcpy 用法举例

//memcpy
#include <stdio.h>
#include <string.h>
int main() {
  char buff_a[64] = {'z', 'z', 'z', 'z','z', 'z'};
  char buff_b[64] = {'a', 'b', 'c', '\0', 'd'};
  memcpy(buff_a, buff_b, 3);
  printf("buff_a:%s\n", buff_a);  //buff_a:abczzz
  memcpy(buff_a, buff_b, 4);  //buff_a:abc 会将‘\0’一起复制过去
  printf("buff_a:%s\n", buff_a);
  return 0;
}
代码执行结果:
buff_a:abczzz
buff_a:abc

重点3

执行效率:memcpy > strcpy > sprintf

原因:memcpy是对内存进行操作,strcpy需要对‘\0’进行检查,sprintf需要进行类型转换。

充电站

推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习

相关文章
|
7月前
|
人工智能 语音技术 云计算
书尖 AI 功能实测|阿里云 AI 技术加持,与喜马拉雅听书体验深度对比
在阿里云AI赋能下,书尖AI实测展现三大优势:1.2亿册全品类书库、双人互动式AI播客、2分钟极速提炼书籍精华,并依托阿里云TTS实现自然听书体验。相较喜马拉雅,其AI深度解读与定制化能力更胜一筹。(239字)
|
7月前
|
机器学习/深度学习 人工智能 资源调度
万亿参数、混合线性架构、开源免费——Ring-2.5-1T 来了,思考模型卷到新高度
蚂蚁inclusionAI发布开源万亿参数思考模型Ring-2.5-1T,首创混合线性注意力架构,实现“快、深、长”三大突破:推理吞吐提升3倍+,IMO/CMO达金牌水平,可在Claude Code中连续2小时开发可运行的迷你操作系统。MIT协议完全开源。
811 21
万亿参数、混合线性架构、开源免费——Ring-2.5-1T 来了,思考模型卷到新高度
|
6月前
|
机器学习/深度学习 存储 弹性计算
阿里云服务器租赁优惠价格:2026最新个人、企业、游戏服务器配置清单
2026年阿里云服务器最新价格表:年付低至38元/年(轻量应用服务器),月付25元起,按量小时计费最低0.3375元/小时;覆盖ECS、GPU(EGS)、轻量服务器全品类,支持中国大陆及海外多地域部署,含带宽、系统盘灵活选配与代金券优惠。(240字)
|
8月前
|
人工智能 API 调度
从“会用 AI”到“指挥 AI”:AI调度官能力模型解析
AI调度官是面向多模型协同的新型系统角色,聚焦任务拆解、能力编排与运行约束,实现AI能力的统一调度、闭环管控与稳定执行,支撑可扩展、可解释、可持续演进的智能协同体系。
502 0
|
7月前
|
人工智能 自然语言处理 自动驾驶
企业有哪些agent应用场景(2026年2月最新版)
2026年,AI Agent步入“实战元年”,不再是概念验证,而是企业数字化转型的核心引擎。本文深度解析阿里巴巴瓴羊四大智能产品:Quick Audience(精准营销Agent)、Quick Service(情感化服务Agent)、Quick BI“小Q”(自然语言数据Agent)与Dataphin(自动驾驶数据治理Agent),展现其如何在营销、服务、决策与治理中实现“感知—决策—执行”闭环,构建企业智能化竞争力。(239字)
|
8月前
|
数据可视化 JavaScript 前端开发
拖拽式甘特图工具入门教程:轻松实现项目可视化与进度管理
拖拽式甘特图是现代项目管理的可视化利器,支持鼠标拖拽快速调整任务时间、依赖关系与资源分配。具备直观可视化、实时协作、动态响应变更和进度对比四大核心优势,大幅提升规划效率与团队协同能力。
|
12月前
|
安全 开发工具 开发者
HarmonyOS APP应用开发项目- MCA助手
moneyControllerApp(MCA)是一款基于鸿蒙HarmonyOS Next开发的个人财务管理应用,采用端云一体化架构,支持多设备协同与数据实时同步。应用通过DevEco Studio集成Cloud Foundation Kit,实现高效云端联动,具备登录注册、主页导航、钱包管理、个人信息维护及支付功能,界面简洁,操作流畅,助力用户智能化管理财务。项目开源,支持二次开发。
389 1
|
机器学习/深度学习 安全 数据挖掘
安全地运行 Jupyter 服务
【8月更文第29天】Jupyter Notebook 是一种流行的交互式计算环境,广泛应用于数据分析、机器学习等领域。然而,随着 Jupyter 服务越来越多地被部署在网络环境中,安全问题变得日益重要。本文将介绍一些最佳实践,帮助您保护 Jupyter 服务器免受攻击和数据泄露的风险。
1201 0
WGFIX资产设备系统 v1.0 全新发布 功能介绍
WGFIX是wgcloud团队最近发布的一个资产管理系统,免费实用,而且使用非常简单,部署也很方便,非常适合中小企业使用的一款IT固定资产管理系统
|
存储 人工智能 数据库
面向教育场景的大模型 RAG 检索增强解决方案
检索增强生成模型结合了信息检索与生成式人工智能的优点,从而在特定场景下提供更为精准和相关的答案。以人工智能平台 PAI 为例,为您介绍在云上使用一站式白盒化大模型应用开发平台 PAI-LangStudio 构建面向教育场景的大模型 RAG 检索增强解决方案,应用构建更简便,开发环境更直观。此外,PAI 平台同样发布了面向医疗、金融和法律领域的 RAG 解决方案。

热门文章

最新文章