day10(C基础)string函数族

string函数族

strcpy

#include <string.h>

char *strcpy(char *dest, const char *src);

功能:实现字符串复制

参数:char *dest: 目标字符串首地址 要复制的位置(首地址)

           const char *src:源字符串首地址 复制者的首地址

返回值:目标字符串首地址

strcpy会复制 \0

strncpy

char *strncpy(char *dest, const char *src, size_t n);


功能:复制前n个字符串

参数:dest: 目标字符串的首地址 src:源的字符串的首地址 n:个数

返回值:目标字符串的首地址

strcat

#include<string.h>

char *strcchat(char *dest, const char *src);

功能:用于字符串拼接

参数:char *dest :目标字符串首地址

const char *src :源字符串首地址

返回值:目标字符串首地址

strncat

char *strncat(char *dest, const char *src, size_t n);


功能:拼接src的前n个字符

参数:char *dest :目标字符串首地址

           const char *src :源字符串首地址

           size_t n:个数

返回值:目标字符串首地址

strcmp

#include <string.h>

int strcmp(const char *s1, const char *s2);


功能:用于字符串比较

参数:s1 s2用于比较多字符串

返回值:ascii码值比较 两者相等 继续向后比较 如果不相等 返回s1-s2

               s1>s2: >0

               s2>s1: <0

               s1=s2: 0

strncmp

int strncmp(const char *s1, const char *s2, size_t n);


功能:比较两个字符串前n个字符的大小

练习:

void fun(char *p) 

{

p = (char *)malloc(32);

strcpy(p, "hello");

}

int main()

{

char *m = NULL;

fun(m);

printf("%s\n", m); //NULL

return 0;

}

输出结果: 段错误

改正:

返回值:

char * fun()  //p=NULL
	{
		char *p = (char *)malloc(32);
		strcpy(p, "hello");
      return p;	
	}
int	main()
	{
		char *m = NULL;
		m=fun();
		printf("%s\n", m); //hello
       free(m);
       m=NULL;
         return 0;
	}

传参:

void fun(char **p)   //p=NULL
	{
		*p = (char *)malloc(32);
		strcpy(*p, "hello");	
	}
int	main()
	{
		char *m = NULL;
		fun(&m);
		printf("%s\n", m); //NULL
        free(m);
        m=NULL;
         return 0;
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值