C - 有没有办法区分NULL和' \ 0'作为char数组中的第一个?

时间:2014-10-03 01:40:20

标签: c pointers

我遇到了一个问题,如果没有"匹配"我想要返回NULL两个字符串与' \ 0'如果字符串是空的开始。有没有办法区分这两者?

在我的情况下,我有一个返回char *的函数。我有什么选择来区分这两个,所以我可以有两个不同的print语句,具体取决于它是否为NULL(意思是字符数组不是空的,但在我的逻辑中由于条件原因而返回null)或者' \ 0' (意思是传递给函数的字符数组只是空字符串"")。

由于

1 个答案:

答案 0 :(得分:3)

if (ptr == NULL) {
    // Stuff to do for NULL case
} elseif (*ptr == 0) {
    // Stuff to do for empty string
} else {
    // Stuff to do for other cases
}