当前位置:  开发笔记 > 编程语言 > 正文

为什么strlen()似乎在VC++调试器中返回<void>?

如何解决《为什么strlen()似乎在VC++调试器中返回<void>?》经验,为你挑选了1个好方法。

我有一个C++类型的字符串const char*作为参数传递给strlen,但它返回void.

它就像

strlen(astruct.string);

谢谢..

编辑:做了一些检查,

strlen("test");

仍然无效......为什么?

编辑:这是图像 http://img14.imageshack.us/img14/1808/strlen.png

很抱歉以前不清楚.格式化效果不佳.无论如何,Evan Teran和Vlad Romascanu都解决了混乱.另请参阅Brian R. Bondy的回答.

谢谢.随意关闭.



1> Evan Teran..:

您对Visual Studio 6.0的糟糕调试器感到困惑.不要依赖于此.由于内联或类似的东西,它可能无法获得返回值.

打印出值以获得真正的价值.

编辑:此外,从您的示例,似乎您可能无法存储strlen的结果.这也可能是调试器没有看到返回值的原因.如果您没有使用该值,编译器完全有可能决定不需要实际执行strlen.

注意:此时没有真正的借口仍然使用VC++ 6.0.它是一个古老的编译器和IDE,是一个令人尴尬的糟糕的c ++编译器.较新版本的visual c ++编译器是免费的(没有IDE),请使用它们.

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有