字符串、字符、字节

C语言字符串函数详解

1、strlen的原型

size_t strlen( char const *string);    //size_t是一个无符号数
所以:
if( strlen( x ) >= strlen( y ) )    //是可以的
if( strlen( x ) - strlen( y ) >= 0 )    //条件永真,因为无符号数相减还是无符号数,而无符号数永不为负。

2、strcpy(支持链式编程)

char *strcpy( char *dst , char const *src);    //目标区域如果不足够放下源字符串,多余的字符仍被复制,覆盖原先存储于数组后面的内存空间的值

3、strcat(支持链式编程)

char *strcat( char *dst, char const *src);    //保证目标字符数组剩余的空间足以保存整个源字符串

4、strcmp

int strcmp( char const *s1, char const *s2);    //等于0代表相等,s1>s2返回大于0(不一定是1,只是个选择)

5、长度受限的字符串函数

char *strncpy( char *dst, char const *src, size_t len);
char *strncat( char *dst, char *src, size_t len);
int strncmp(char const *s1, char const *s2, size_t len);
//strncpy将len个字符复制到dst中,如果strlen(src) < len,用NUL字节填充LEN长度
//如果strlen(src) >= len,那么只有len个字符被复制到dst中,最后一个字符并非NUL。
//在strncpy后使用strlen可能就会出错

所以,经常在数组末尾手动加上字符串结束符:

char buffer[bsize];
strncpy( buffer, name, bsize);
buffer[bisize - 1] = '\0';

 

转载于:https://www.cnblogs.com/Lunais/p/7247463.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值