函数接收 char * 就好像它是空的

Function receiving char * as if it's empty

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

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: 

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

printf("Message is: ", msg);

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

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