支持字符串是否为空的判断对于C风格字符串通过下面两步条件测试来完成
char *str = 0;
// ...
if ( ! str || ! *str )
return;
char *str = 0;
// ...
if ( ! str || ! *str )
return;
以上程序段对字符串的判断有一点问题.
按以上的程序理解,认为str=NULL也是空字符串
正确的应该是:
char *str = 0;
// ...
if (str && ! *str )
return;
// ...
if (str
return;
<<C++Primer>>字符串类型3.4.2
本文详细解析了C语言中字符串为空判断的常见错误,并提供了一种优化方案,以避免将NULL误判为空字符串。

5339

被折叠的 条评论
为什么被折叠?



