为什么这个o / P ...服务器上传失败

时间:2011-12-14 09:40:38

标签: c++ c linux bash ternary-operator

请告诉我为什么我总是得到“服务器上传失败!”在代码中 如下所示。

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-compiler

1 个答案:

答案 0 :(得分:1)

一旦我多读了几次,它对我来说是正确的。它应该生成后一个字符串(“Server TimeOut Reached”)。

不确定为什么你需要在静态字符串上调用strdup(),而不是直接使用文字。一种情况是,如果有时需要一个更动态的字符串,那么无论谁收到该值都假定它是动态的并且拥有所有权。