#include<iostream>
using namespace std;
int main(void)
{
int a[3] = {141,229,172};
char ch[3] = {0};
for(int i=0;i<3;i++)
ch[i] = (char)a[i];
cout<<strlen(ch)<<endl;
getchar();
return 0;
}
以上程序,int 型转化char型的语句,但是求字符串长度老是出错,想了很久才弄明白怎么回事。记于此。
按照理解,返回值应该是3.但是事实上,却不是.
因为strlen()求字符串的长度,是遇到'\0'字符才会结束的。strlen(ch)语句,只是传进去了ch(这是一个地址),并未告知函数在何时结束,因此,函数会一直往后计数字符的个数,直到遇到'\0'。
同样的,下面的代码也存在着相同的问题:
#include<iostream>
using namespace std;
{
int a[3] = {141,0,172};//注意,第二个是0
char ch[3] = {'a','b','c'};
for(int i=0;i<3;i++)
ch[i] = (char)a[i];
cout<<strlen(ch)<<endl;
getchar();
return 0;
}
因此,为了避免这种情况,可以作如下处理:
#include<iostream>
using namespace std;
{
int a[3] = {141,229,172};
char ch[4] = {0};//将空间稍微开大,并赋值'\0'
for(int i=0;i<3;i++)
ch[i] = (char)a[i];
cout<<strlen(ch)<<endl;
getchar();
return 0;
}
分享到:
相关推荐
编写一个程序,求字符串的长度,不能使用strlen函数。 (代码提示:i=0;while(s[i]!= '\0')i++; 则最后i的值就是字符串长度)
输入一个长度不超过100的字符串,求出这个字符串的长度(不能使用strlen())
求一个字符串的长度,但不能使用函数strlen()
主要介绍了C++不使用变量求字符串长度strlen函数的实现方法,实例分析了strlen函数的实现原理与不使用变量求字符串长度的实现技巧,需要的朋友可以参考下
C语言编程-编写函数fun求一个字符串的长度,在main函数中输入字符串,并输出其长度;
C语言strlen()函数:返回字符串的长度 头文件: #include strlen()函数用来计算字符串的长度,其原型为: unsigned int strlen (char *s); 【参数说明】s为指定的字符串。 strlen()用来计算指定的字符串s 的...
_如何使用strlen函数字符串的长度.pdf
字符串长度函数strlen和mb_strlen的区分示例介绍_.docx
在PHP中,函数strlen()返回字符串的长度,strlen()函数返回字符串所占的字节长度,一个英文字母、数字、各种符号均占一个字节,它们的长度均为1
注意不要越界,可用strlen(input)函数求字符串长度之后再拼接。 2. 字符串的分割 使用c的函数 char *strtok(char *str_sou,constchar *str_sep); str_sou:待分割字符串。str_sep:分割符号。 第一次调用:temp = ...
strlen()函数返回字符串所占的字节长度,一个英文字母、数字、各种符号均占一个字节,它们的长度均为1。一个中午字符占两个字节,所以一个中午字符的长度是2。例如 复制代码 代码如下: <?php echo strlen(...
在PHP中,strlen与mb_strlen是求字符串长度的函数,但是对于一些初学者来说,如果不看手册,也许不太清楚其中的区别。 下面通过例子,讲解这两者之间的区别。 先看例子: <?php //测试时文件的编码方式要是UTF8 ...
如下所示: $paramStr = iconv(UTF-8, GB2312//Ignore, $paramStr);... 您可能感兴趣的文章:PHP 字符串长度判断效率更高的方法php 不同编码下的字符串长度区分php比较两个字符串长度的方法PHP字符串长度计算 – strlen
把字符串变成字符串常量以后的另一个问题是sizeof不能用了,引入string.h,用strlen()替代即可。 //题目:要求比较A字符串(例如“abcdef"),B字符串(例如(bdcda)。找出重合度最大的子字符串,输出(根据OJ经验...
JavaScript字符串处理函数,根据定义的长度截取字符串,超出部分裁掉追加……,很多时候网页上显示的内容需要缩成“…”该方法用于处理字符串显示固定长度,超长部分用“…”代替: /**参数说明: * 根据长度截取...
C语言学习-字符串处理函数 strcat(char str1,char str2) strcpy(char str1,char str2) ...strlen(char str)//返回字符串数据长度 strlwr(char str)//转换为小写 strupr(char str)//转换为大写
php程序中字符串长度判断,可以使用strlen。 方法一: $str = ‘aaaaaa'; if(strlen($str) > 6){ echo 字符串大于6; } 方法二: if(isset($str{6}){ } 以上两种方法,第二种效率更高些。 在PHP中,所有的变量都...
* 可以统计中文字符串长度的函数 * */ function abslength($str) { $len=strlen($str); $i=0; while($i<$len) { if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/",$str[$i])) { $i+=2; } else { $...
本文实例讲述了php比较两个字符串长度的方法。分享给大家供大家参考。具体实现方法如下: 这段代码计算两个字符串的长度,然后计算其差值 <?php // This will return a number of how many more characters the ...