第九章 字符串、字符和字节[C和指针]


字符串是一种重要的数据类型,但是C语言并没有显式字符串数据类型,因为字符串以字符串常量的形式出现或存储于字符串数组中。

常用字符串函数如下:

/*字符串长度计算函数 strlen,返回字符数*/
size_t strlen(char const *string)

不受限的字符串函数
/*字符串拷贝函数strcpy,返回值是第一个参数的拷贝*/
char strcpy(char *dst, char const *src);
/*字符串连接函数strcat,返回值是第一个参数的拷贝*/
char strcat(char *dst, char const *src);
/*字符串比较函数,“字典”比较法,相等则返回0,大于则返回1,小于返回-1*/
int strcmp(char const *s1, char const *s2);

长度受限的字符串函数
char *strncpy( char *dst, char const *src, size_t len);
char *strncat( char *dst, char const *src, size_t len);
int strncmp( char const *s1, char const *s2,size_t len);                 
注意:在使用长度受限的函数时,保证字符末尾添加'\0'结束符

/*在一个字符串中查找特定字符,若查到返回一个指向该位置的指针,否则返回NUUL指针*/
char *strchar( char const *str, int ch);
char *strrchr( char const *str, int ch);
/*查找任意几个字符,返回str中任意匹配group中的任何一个字符的字符位置*/
char *strpbrk( char const *str, char const *group);
/*查找一个子串*/
char *strstr( char const *s1, char const *s2);
/*查找一个字符串的前缀,返回str起始部分与group中任意字符匹配的字符数*/
size_t strspn( char const *str, char const *group);
例1:char buffer[] = "12,23,34";
len = strspn( buffer, "012345");
这里len = 2;
例2:ptr = buffer + strspn( buffer, "\n\r\f\t\v");
这条语句将计算一个指向字符串中第1个非空白字符的指针  
/*与strspn相反*/
size_t strcspn( cahr const *str, char const *group);
/*隔离字符串中各个单独的部分并丢弃分割符*/
char *strtok( char *str, char const *sep);
/*字符错误代码报告*/
char *strerror( int error_number);


另外,还有字符分类函数,字符转换函数,在这里就不一一列举了。

如果非字符串内部包含零值NUL时,可以用以下函数代替字符串处理函数,因为它们遇到NULL不会停止,能处理
任意字节序列。

void *memcpy( void *dst, void const *src, size_t length);
void *memmove( void *dst, void const *src, size_t length);
void *memcmp( void const *a, void const *b, size_t length);
void *memchr( void const *a, int ch, size_t length);
void *memset( void *a, int ch, size_t length);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值