3 回答

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超4個(gè)贊
strlen(char*)函數(shù)求的是字符串的實(shí)際長度,它求得方法是從開始到遇到第一個(gè)'\0',如果你只定義沒有給它賦初值,這個(gè)結(jié)果是不定的,它會從aa首地址一直找下去,直到遇到'\0'停止。
char aa[10];cout<<strlen(aa)<<endl; //結(jié)果是不定的
char aa[10]={'\0'}; cout<<strlen(aa)<<endl; //結(jié)果為0
char aa[10]="jun"; cout<<strlen(aa)<<endl; //結(jié)果為3

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊
strpack函數(shù)沒見過,請問是怎么去空格呢?
strlen是返回字符串長度,實(shí)際上是從第一個(gè)開始往后看,直到遇到字符串終結(jié)符 '\0'為止的長度
如果你要判斷zjhm是不是15位, 這個(gè)函數(shù)是最好不過了

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊
我不知道你說的15位的意思,這里有2種意思
一是字符串的長度,二是數(shù)組里面存放的個(gè)數(shù);
二者是不同的,例如 字符數(shù)組 char a[20]="abc" 那么a的長度即strlen(a)就是3;而數(shù)組里面存的字符實(shí)際上是"abc\0"是4個(gè)字符;因此char a[3]="abc"; 是錯(cuò)的
- 3 回答
- 0 關(guān)注
- 119 瀏覽
添加回答
舉報(bào)