C++中的计算字符长度的方法:在使用指针循环之后,是否需要将指针重置?
比如如下代码:
int String::leng()
{
int i = -1;
while(m_str != '\0 ')
{
i++;
m_str++;
}
return i;
}
在以上代码中,实际上将m_str已经移动到了最后,请问改怎么处理呢?
谢谢。
[解决办法]
int String::leng()
{
int i = -1;
char *p = m_str;
while(*p != '\0 ')
{
i++;
p++;
}
return i;
}
[解决办法]
但是不知道你的i为什么从-1开始
[解决办法]
你建一个临时变量来做这个循环就可以了。
[解决办法]
恩,用一个临时字符型指针来做。
[解决办法]
while(m_str != '\0 ')//少了个*吧
{
i++;
m_str++;
}
用个临时指针即可