我有一个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的回答.
谢谢.随意关闭.
您对Visual Studio 6.0的糟糕调试器感到困惑.不要依赖于此.由于内联或类似的东西,它可能无法获得返回值.
打印出值以获得真正的价值.
编辑:此外,从您的示例,似乎您可能无法存储strlen的结果.这也可能是调试器没有看到返回值的原因.如果您没有使用该值,编译器完全有可能决定不需要实际执行strlen.
注意:此时没有真正的借口仍然使用VC++ 6.0.它是一个古老的编译器和IDE,是一个令人尴尬的糟糕的c ++编译器.较新版本的visual c ++编译器是免费的(没有IDE),请使用它们.