为了计算一个由 char* 指向的字符串的长度,你可以使用标准库中的 strlen 函数。下面我会详细解释如何使用这个函数来计算字符串的长度,并附上示例代码。 1. 理解 char* 类型的本质 char* 是一个指针类型,它指向一个字符数组。在C和C++中,字符串通常是以空字符(\0)结尾的字符数组,因此 char* 指针通常用于指向...
//函数调用 printf("字符串的长度是%d\n",len);//输出结果 return 0;//主函数返回值为0 }...
sizeof只是求变量所占的字节数,sizeof(char *) = 4字节; strlen(char*) 可以得到整个字符串的长度。 如果是数组vec,那么使用sizeof就可以得到整个数组的所占的字节数目,但是要得到具体的数目,就必须除以每个字符占的字节数目。 参考:http://blog.sina.com.cn/s/blog_67d069a90100ui4p.html char* p = "...
如果你的代码是纯 C 的,那么你只能另外提供一个 length 的参数来表明这个unsigned char*数据的长度。 如果你的代码是 C++ 的,你可以直接把数据存储在 std::string 中,string 中是可以有 0 的。 std::string str;unsigned char data[5] = {1,2,3,0,4 };str.assign((char*)data,5);cout << str.s...
用strlen(acPingBuffer)求 头文件<string.h>
CString 在Unicode环境下是款字节 比如123456 存的时候存为 1 \0 2 \0 3 \0 4 \0 所以strlen得到长度是从1开始 到'\0'结束 长度为1 解决方法为 CString str =_T("123456");WCHAR* p;p=(WCHAR *)str.GetBuffer();str.ReleaseBuffer();int i =wcslen(p);如果要转换为char* 需要转码 ...
简介:char类型数组赋值整数,求数组长度 求下面代码打印结果: 1. #include<stdio.h>2. #include<string.h>3.4. int main()5. {6. char a[1000] = { 0 };7. int i = 0;8.9. for (i = 0; i < 1000; i++)10. {11. a[i] = -1 - i;12. printf("%d\n", a[i]);13. }14.15. ...
strlen(char*)函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个'\0',如果你只定义没有给它赋初值,这个结果是不定的,它会从aa首地址一直找下去,直到遇到'\0'停止。sizeof是C/C++中的一个操作符(operator),简单的说其作用就是返回一个对象或者类型所占的内存字节数。char aa[...
int stringlen(char *s)// 这个函数的命名可以规范些,如 StringLen[推荐]{ int i = -1;if (s==null) return i;// 如果s为空,则返回-1 for (i=0;s[i] != '\0';i++);// 一直找到字符串结束标志'\0',循环结束 return i-1;// 返回不包括字符串结束标志的长度 } // 要...
在 C 语言中,可以使用 strlen 函数来求字符数组的有效长度。该函数定义在头文件 string.h 中,该头文件应该在使用 strlen 函数之前包含进来。例如,可以使用以下代码来求字符数组 s 的有效长度:include <stdio.h> include <string.h> void fun(char* s) { // 求字符数组 s 的有效长度 int ...