【发布时间】:2015-02-12 16:22:08
【问题描述】:
你好
我在通过程序参数为套接字命名时遇到问题。 我尝试了很多方式,一些转换(strcpy 函数)等。但在最好的选择中,它会给我一个我名字中的一个字母。如何将其转换/放入该结构?
void socket_out(char* name)
{
int listfd;
int connfd;
listfd = socket(AF_UNIX, SOCK_STREAM, 0);
if(listfd == -1)
exit(-1);
struct sockaddr saddr = {AF_UNIX, name};
socklen_t saddrlen = sizeof(struct sockaddr) + 6;
bind(listfd, &saddr, saddrlen);
还有错误:
错误:从‘char*’到‘char’的无效转换[-fpermissive] struct sockaddr saddr = {AF_UNIX, name};
【问题讨论】:
-
你需要使用strcpy函数(或类似的)
-
我用过,但是没用。也许我错误地将它放在 struct sockaddr saddr 中?当我使用指针时,我得到一个字母。
-
请尝试类似google.com.ua/… 的方法。你会找到例子
标签: c++ linux sockets type-conversion