函数-memcpy有三种用法,第一种简单,另外两种非常巧妙,你知道吗?

简介: 函数-memcpy有三种用法,第一种简单,另外两种非常巧妙,你知道吗?

1、函数-memcpy():


(1)第一种用法:

描述:将指定字符串复制到目标字符串,此函数有个数限制,与函数-strncpy用法差不多。

格式:memcpy(aim,str,n)

参数:将str字符串的前n个字符复制到aim中。

代码安排:

#include<stdio.h>
#include<string.h>
int main()
{
  char aim[100];
  char str[]="I study hard";
  memcpy(aim,str,7);
  printf("复制之后的结果:%s",aim);
  return 0; 
}


另外两种奇妙的用法,你知道吗?

不知道那就


(2)第二种用法:

描述:将str中第2个字符开始的连续5个字符复制到aim中。

格式:memcpy(aim,str+n1,n2);

参数:str+n1表示在str字符串中第n1个字符之后开始复制;

n2表示复制的长度。

代码见真知:

#include<stdio.h>
#include<string.h>
int main()
{
  char aim[100];
  char str[]="I study hard";
  memcpy(aim,str+2,5);  //str+2表示第二个字符之后第三个字符开始复制,5表示复制5个字符
  aim[5]='\0';     //由于只需要复制5个字节,所以需要手动结束复制
  printf("复制之后的结果:%s",aim);
  return 0; 
}


运行结果:


(3)第三种用法:

描述:用str中的字符覆盖aim中的字符。

格式:memcpy(aim,str,n)

参数:将str中的前n个字符覆盖在aim字符串中。

代码见真知:

#include<stdio.h>
#include<string.h>
int main()
{
  char str[]="*****";
  char aim[]="I study hard";
  memcpy(aim,str,5);
  printf("复制之后的结果:%s",aim);
  return 0; 
}


运行结果:


相关文章
|
4月前
|
Rust Java Serverless
函数与方法的区别
函数与方法的区别,当然是有区别。 不管是java、rust还是go,他们都是不一样的。
50 1
|
4月前
|
机器学习/深度学习 算法 编译器
【C语言】函数 ---- 函数的嵌套调用和链式访问、函数的声明和定义、变量的声明和定义、函数递归与迭代、递归时的栈溢出问题
【C语言】函数 ---- 函数的嵌套调用和链式访问、函数的声明和定义、变量的声明和定义、函数递归与迭代、递归时的栈溢出问题
105 0
|
4月前
|
Python
什么是函数?函数分为几种? 区别是什么?
什么是函数?函数分为几种? 区别是什么?
|
4月前
|
C++ 容器
STL中会用到的函数
这段代码示例展示了C++中几种常用容器的使用,包括`vector`、`list`、`map`、`queue`、`deque`和`stack`。它涵盖了初始化、操作方法如添加、删除元素、排序、查找以及容器属性的查询等。同时,还提到了`algorithm`库中的`erase`、`sort`和边界查找函数。
26 0
|
4月前
|
JavaScript 前端开发 Java
函数和方法有区别吗?
函数和方法有区别吗?
59 0
|
11月前
|
算法 程序员 C语言
【进阶C语言】排序函数(qsort)与模拟实现(回调函数的实例)
回调函数为C语言重要知识点,以函数指针为主要知识;下面介绍回调函数的定义、回调函数的库函数举例即库函数模拟实现。
41 0
【进阶C语言】排序函数(qsort)与模拟实现(回调函数的实例)
|
C语言
由浅入深C系列四:memset/memcpy源码分析,为什么这二个函数的目的字符串在前面,源字符串在后面?
memset/memcpy源码分析,为什么这二个函数的目的字符串在前面,源字符串在后面?
求字符串的长度(4种写法)(普通写法,函数写法(两种:有无返回值),不允许创建临时变量法(递归))
求字符串的长度(4种写法)(普通写法,函数写法(两种:有无返回值),不允许创建临时变量法(递归))
141 0
求字符串的长度(4种写法)(普通写法,函数写法(两种:有无返回值),不允许创建临时变量法(递归))
|
C语言
探究一下:使用memcpy函数能不能自己拷贝自己
探究一下:使用memcpy函数能不能自己拷贝自己
195 0
探究一下:使用memcpy函数能不能自己拷贝自己
复习C部分:1.写一个函数,实现整形有序数组二分查找 2.写一个函数,每调用一次这个函数,就会将num的值增加1 3.函数的嵌套调用和链式访问 4. 函数递归----自己调用自己
复习C部分:1.写一个函数,实现整形有序数组二分查找 2.写一个函数,每调用一次这个函数,就会将num的值增加1 3.函数的嵌套调用和链式访问 4. 函数递归----自己调用自己
79 0
复习C部分:1.写一个函数,实现整形有序数组二分查找 2.写一个函数,每调用一次这个函数,就会将num的值增加1 3.函数的嵌套调用和链式访问 4. 函数递归----自己调用自己