很可能是一个菜鸟问题,但我正在寻找一个printf
- esque函数,用于send
通过TCP套接字。这是一个简单的聊天服务器,特别是Beej的套接字指南中的一个修改版本。我准备写自己的,但在此之前,我想确保我不会重新发明轮子。
我正在寻找C本地的东西,而不是库或其他东西。我这样做是为了一种智力上的追求,使用现成的图书馆并不会教会我,也不会搞砸,直到我弄清楚并理解为什么。
提前感谢任何回答的人!
编辑: 我目前正在使用:
if(current_user->fs_id == sending_user->fs_id) {
snprintf(server->current_buffer, buffer_size, "You said: %s", message);
} else {
snprintf(server->current_buffer, buffer_size, "%s said: %s", sending_user->name, message);
}
if(send(current_user->fs_id, server->current_buffer, buffer_size, 0) == -1) {
perror("Sending data");
}
我知道这不是最好的方法,这是我现在正在解决的问题。
答案 0 :(得分:5)
使用fdopen
制作与套接字对应的FILE *
,然后fprintf
写入套接字。
答案 1 :(得分:1)
我假设您将snprintf
(比sprintf
更安全)放入缓冲区并send
使用... {/ p>
当然,你可以将它包装在一个很好的小变量函数中。