【发布时间】:2010-03-02 09:43:05
【问题描述】:
听起来很简单,但我有一个错误,我不确定是什么原因造成的?
nopunccount = 0;
char *ra = new char[sizeof(npa)];
while (nopunccount <= strlen(npa)) {
ra[nopunccount] = npa[strlen(npa) - nopunccount];
nopunccount++;
}
ra 从未在其中获取值,我已验证 npa 在 nopunccount 范围内提供 char 值。
感谢任何帮助 // :)
【问题讨论】:
-
现在是
npa声明了吗?strlen(npa)是什么?请发布工作代码。 -
char *npa = new char[sizeof(str)]; str 被声明为函数的参数为 (char *str)
-
这是个问题:
sizeof(str)会产生错误的结果(即它会产生指针的大小,而不是字符串的长度!)。 -
好点,你有什么建议?
-
在处理字符串时始终使用
strlen而不是sizeof。