1. 程式人生 > >字符串、字符、字節

字符串、字符、字節

cat 就會 col 內存 spa dst style 可能 ron

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;

字符串、字符、字節