2014-10-03 3 views
0

У меня возникла проблема, когда я хочу вернуть NULL, если в двух строках нет «совпадений» в сравнении с «\ 0», если строка была пуста для начала. Есть ли способ различать эти два?C - есть ли способ отличить NULL от ' 0' как первый в массиве символов?

В моем случае у меня есть функция, возвращающая символ char *. Каковы мои возможности иметь различие между ними, поэтому у меня могут быть два разных оператора печати в зависимости от того, является ли его NULL (что означает, что массив символов не был нулевым, но возвратил null по условным причинам в моей логике) или «\ 0» (что означает массив символов, который был передан в функцию, был просто пустой строкой «»).

Благодаря

+0

Возвращение '«»' при 1 условии, возвращение 'NULL' под другой, и возвращает указатель на место согласующего еще мудр. – chux

ответ

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 
} 
Смежные вопросы