首页 > 代码库 > C语言 两个小知识点
C语言 两个小知识点
strlen 函数原型
extern unsigned int strlen(char *s);
在Visual C++ 6.0中,原型为size_t strlen(const char *string); ,其中size_t实际上是unsigned int,在VC6.0中可以看到这样的代码:typedef unsigned int size_t; 。
头文件:string.h
格式:strlen (字符数组名)
功能:计算给定字符串的(unsigned int型)长度,不包括‘\0‘在内
说明:返回s的长度,不包括结束符NULL。
举例:
//char*s="Gold";char s[100]="Gold";printf("%s has %d chars",s,strlen(s));
结果:两者的结果都一样。
那如何测试字节数组的大小呢?结论是无法使用strlen函数,只能通过间接的办法求:
#include <stdio.h>#include<stdlib.h>#include<string.h>int main(){ unsigned char sendStr[32] ={128,154,178,201,221,237,248,255,255,252,243,229,211,190,166,141, 115,90,66,45,27,13,4,1,1,8,19,35,55,78,102,128}; //默认发送串1(实际为0),1,8 printf("数字: %d \n",sizeof(sendStr)/sizeof(unsigned char)); return 0;}
通过总的字节数除以单个元素的大小进行求解。
unsigned char 数字范围为 0-255;如果赋值一个数为256,那么数据溢出,显示结果为0
C语言 两个小知识点
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。