【问题标题】:Function receiving char * as if it's empty函数接收 char * 就好像它是空的
【发布时间】:2015-12-20 17:14:29
【问题描述】:

我一直在努力解决这个问题,所以这就是我调用函数的方式:

char* to_send;

to_send = "GOO";

write_client_msg(new_fd, to_send);

这是函数:

void write_client_msg(int new_fd, char * msg)
{
    printf("\nwrite_client_msg\n");
    printf("Message is: ", msg);
    int n = write(new_fd, msg, strlen(msg));
    if (n < 0)
    {
        perror("Erreur lors de la transmission de message");
        exit(EXIT_FAILURE);
    }
}

结果如下:

write_client_msg
Message is: 

它只是空的......我不明白,我不知道如何解决它。

【问题讨论】:

    标签: c sockets server client


    【解决方案1】:
    printf("Message is: ", msg);
    

    您忘记了上面的格式说明符。您需要使用 %s 格式说明符来打印 C 样式字符串,例如,见下文:

    printf("Message is: %s ", msg);
    

    【讨论】:

    • 哦!谢谢你。是的,现在它显示了正确的消息,这意味着我的问题在其他地方。
    猜你喜欢
    • 2019-10-19
    • 2022-08-19
    • 1970-01-01
    • 2018-08-24
    • 1970-01-01
    • 2014-11-09
    • 1970-01-01
    • 2023-01-26
    • 1970-01-01
    相关资源
    最近更新 更多