首页 > 其他 > 详细

字符串、字符、字节

时间:2017-07-27 21:48:26      阅读:292      评论:0      收藏:0      [点我收藏+]

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;

 

字符串、字符、字节

原文:http://www.cnblogs.com/Lunais/p/7247463.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!