C语言:Sprintf、Strcpy、Memcpy、Memset、Strcmp、Strlen

一、sprtinf
1、定义
sprintf指的是字符串格式化命令,是把格式化得数据写入某个字符串中,即发送格式化输出到string所指向的字符串,直到出现字符串结束符‘\0’为止。
2、声明
int sprintf(char *string , char *format [, argument , …]);
3、参数列表
(1)char *string :
这是指向一个字符数组的指针,该数组存储了C字符串;
(2)char *format :
这是字符串,包含了要被写入到字符串str的文本,它可以包含嵌入的format标签,fomrat标签可被随后的附加参数中指定的值替换,并按需求进行格式化,它的标签属性是%【flags】【width】【.precision】【length】specifier;
(3)【,argument】…:
根据不同的format字符串,函数可能需要一些列的附加参数,每个参数包含了一个要插入的值,替换了format参数中指定的每个%标签,参数的个数应与%标签的个数相同;
4、返回值:
它的返回值为字符串长度(strlen),如果成功,则返回写入的字符总数,不包括字符追加在字符串末尾的空字符“\0”;如果失败,则返回一个负数。
例如:如果“hello”被写入空间足够大的string后,函数sprintf返回5
5、实例
(1)格式化输出字符串
char buf[1024] = { 0 } ;
spritnf (buf , “hello %s” , “world”);
printf("%s\n" , buf) ;
输出结果:
hello world
(2)拼接字符串
char buf[1024] = { 0 } ;
char str1[] = “hello” ;
char str2[] = “world” ;
sprintf (buf , “%s %s” , str1 , str2) ;
printf ("%s" , buf ) ;
输出结果:
hello world
(3)数字转字符串
char buf[1024] ={ 0 } ;
int num = 100 ;
sprintf(buf , “%d” , num ) ; //将100以字符串“100”的形式存入buf中
printf ( “%s” , buf) ; //以字符串形式打印buf里面的内容
(4)进制形式打印字符串
十六进制:sprintf(buf , “0x%x” , 100);
十进制 :sprintf(buf , “0%o” ,100);
二进制 :sprintf(buf , “0%b” , 100);

二、strcpy
1、定义
strcpy,即stringcopy(字符串复制)的缩写,strcpy是C++语言的一个标准函数,strcpy把含有’\0’结束符的字符串复制到另一个地址空间dest,返回值的类型为char *。
2、声明
char *strcpy(char *dest , const char *src);
3、参数列表
(1)char *dest:指向用于存储复制内容的目标数组;
(2)const char *src:需要复制的字符串;
4、返回值
该函数返回一个指向最终的目标字符串dest的指针。
5、实例
char src[100] ;
char dest[100] ;
strcpy(src , “hello world”) ;
strcpy(dest , src) ;
printf("%s\n" , dest) ;
输出结果:
hello world

三、memcpy
1、定义
memcpy指的是C和C++使用的内存拷贝函数,功能是从源内存地址的起始位置开始拷贝若干个字节到目标内存地址中,即从源source中拷贝n个字节到目标destin中。
2、声明
void *memcpy(void *destin , void *source , unsigned n);
3、参数列表
(1)void *destin:指向用于存储复制内容的目标数组,类型强制转换为void *指针;
(2)void *source:指向要复制的数据源,类型强制转换为void *指针;
(3)unsigned n:要被复制的字节数;
4、返回值
该函数返回一个指向目标存储区destin的指针。
5、实例
char source[] = “你好,世界”;//或者 char *souce =“你好,世界” ;
char destin [100] = {0};
memcpy(destin , soucre , strlen(source));//如果destin里面原先有数据,则source里面的数据会覆盖它,不一定全部覆盖,只覆盖strlen(source)长度的数据
printf("%s\n" , destin) ;
输出结果:
你好,世界

四、memset
1、定义
memset是计算机中C/C++语言初始化函数。作用是将某一块内存中的内容全部设置为指定的值,这个函数通常为新申请的内存做初始化工作。
2、声明
void *memset(void *str , int ch , int counter ) ;//将str后面的counter个字节用ch替换并返回str
3、参数列表
(1)void *str:str为指针或者是数组;
(2)int ch:ch是赋给str的值;
(3)int counter:counter是str的长度;
4、实例
char str[] =“hello world” ;
memset(str , 0 , sizeof(str));
printf("%s" , str ) ;
输出结果:
0

五、strcmp
1、定义
strcmp函数是string compare(字符串比较)的缩写,用于比较两个字符串并根据比较结果返回整数,基本形式为strcmp(str1 , str2),若str1=sstr2,则返回为零;若str1<str2,则返回为负数;若str1>str2,则返回为正数。
2、声明
int strcmp(const char *str1 , const char *str2) ;
3、说明
(1)当str1<str2时,返回为负数;
(2)当str1=str2时,返回值为0;
(3)当str1>str2时,返回值为正数;
注意:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇‘\0’为止。可用于比较两个字符串常量或比较数组和字符串常量,不能比较数字等其它形式的参数。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cheems_Pak Choi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值