【问题标题】:Why this o/P...Server Upload Failed为什么这个 o/P...服务器上传失败
【发布时间】:2012-01-20 02:21:52
【问题描述】:

请告诉我为什么总是收到“服务器上传失败!”在代码中 下面给出。

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编译器

【问题讨论】:

  • 在 gcc 4.5.2、ubuntu 上,它按预期运行(输出:return_str : Server TimeOut Reached!)你确定你运行的不是旧版本吗?您是否尝试过清理/重建?

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


【解决方案1】:

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

不知道为什么你需要在静态字符串上调用strdup(),而不是直接使用文字。一种情况是,我猜有时需要更动态的字符串,因此接收该值的人假定它是动态的并获得所有权。

【讨论】:

    猜你喜欢
    • 2019-07-20
    • 2016-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-03
    • 2019-01-25
    相关资源
    最近更新 更多