strlen可以直接用吗,strlen作用
http://www.itjxue.com 2023-01-05 22:31 来源:未知 点击次数:
c++中的strlen怎么调用?
string a;
这样是不对的
应该定义成char a[100];
另外,其实你的C版也是错的,因为你没给输入分配空间,正确的定义方法还是上面那样,或者加上一句
s = (char*)malloc(100);
比如C语言里有memset,可以直接用memset。 也可以用strlen得到数组的长度,然后用一个for循环。
不懂Java。但是c的二维数组可以在建立的时候初始化。
char name[5][10]={"abc","bb"};
比如上面这个二维数组。第一个数组就是abc,第二个就是bb,只要初始化一个。后面的就会自动初始化为0
如果开始就清零又不想用memset的话可以直接初始化为0.
char name[5][10]={0};
strlen和strnlen以及strlen_s的区别是什么?分别在什么情况下使用?
我这里怎么查不到strlen_s这个函数……
一般时候用strlen就好。strnlen比strlen多一个参数,就是数据总体长度,当检测到字符串长度比数据总体长度还长(就是给定数据长度范围内没有结束符'\0')时就会终止扫描。strnlen这个函数一般用于检测不可信的数据(如网络数据),因为这种数据中可能没有'\0',这时如果用strlen的话会一直扫描无法停止(直到越界触碰到无效内存),而strnlen限制住了扫描范围所以不会出事。
c++ strlen函数干嘛用,能详细点吗
strlen()是计算一个字符串的有效数据长度。
从你问题补充看,这里写的有问题,因为str不能是int类型,这样就不是字符串了,strlen()也不能正常工作了。
char str[1000];
strcpy( str , "hello world" ); //给str赋值
int i=strlen(str) ; //得到str中数据的长度,此时为11 = 5+1+5
字符串一定会有一个结束符,strlen在计算时,就是从str的首地址位置,一直到遇到\0为止,计算字符个数。返回给调用者。详情可查阅百科。