请告诉我为什么我总是得到“服务器上传失败!”在代码中 如下所示。
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
答案 0 :(得分:1)
一旦我多读了几次,它对我来说是正确的。它应该生成后一个字符串(“Server TimeOut Reached”)。
不确定为什么你需要在静态字符串上调用strdup()
,而不是直接使用文字。一种情况是,如果有时需要一个更动态的字符串,那么无论谁收到该值都假定它是动态的并且拥有所有权。