Почему это o / P ... Ошибка загрузки сервера - PullRequest
0 голосов
/ 14 декабря 2011

Скажите, пожалуйста, почему я всегда получаю сообщение "Ошибка загрузки на сервер!" в коде дано ниже.

int rval = 28;
char *return_str=NULL;

return_str = strdup((rval!=28) ? ("Server Upload Failed!") : ("Server TimeOut Reached!"));
printf(" return_str : %s\n", return_str);

Output that iam getting is ====> Server Upload Failed! . I want to know why it is not giving
"Server TimeOut Reached!" as output .

Платформа: Linux, gcc-компилятор

1 Ответ

1 голос
/ 14 декабря 2011

Это выглядит правильно для меня, как только я прочитаю это пару раз. Должна сгенерироваться последняя строка («Достигнуто время сервера»).

Не уверен, почему вам нужно было бы вызывать strdup() для статической строки, вместо того, чтобы просто использовать литерал напрямую. Один случай был бы, если бы иногда требовалась более динамичная строка, так что тот, кто получает значение, предполагает, что он динамический и становится владельцем.

...