字符串字符字节

Posted Lunais

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串字符字节相关的知识,希望对你有一定的参考价值。

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;

 

以上是关于字符串字符字节的主要内容,如果未能解决你的问题,请参考以下文章

web代码片段

php函数返回意外 (可能是unicode或字节码引起的)

InputStream的三个read的区别

带有神秘附加字符的 Javascript Date getTime() 代码片段

Laravel基本使用

2021-12-24:划分字母区间。 字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。 力扣763。某大厂面试