c - 预期的标识符 token '('

标签 c sockets

我无法将主机名转换为 ping 版本的 traceroute (traceroute -I) 的 IP 地址

我相信我可能错误地转换了我的指针,我正在尝试访问 sockaddr_in 结构的 sin_port 和 in_addr 结构的 s_addr。

struct addrinfo * addrptr

...call getaddrinfo an start scanning results

if(addrptr->ai_family == AF_INET
      && addrptr->(struct sockaddr_in *)ai_addr->sin_port == 0 
      && addrptr->(struct in_addr *)ai_addr->s_addr == INADDR_ANY){

错误发生在:

               & addrptr->(struct sockaddr_in *)ai_addr->sin_port == 0 
                          ^

最佳答案

((struct sockaddr_in *)(addrptr->ai_addr))->sin_port
((struct sockaddr_in *)(addrptr->ai_addr))->s_addr

关于c - 预期的标识符 token '(',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20158379/

相关文章:

c - 结构化链表到数组

c# - .Net 3.5 异步套接字服务器性能问题

java - 发送和接收 Java 对象

java - Android 上丢失 UDP 套接字数据包

c++ - reinterpret_cast 是否保证不更改源指针的地址?

C5029 (E) 需要一个表达式

c - 为什么 UNIX bash 脚本中的重定向会丢失打印内容

c - 关闭 ARM9 (LPC3141) 上的单个 GPIO 引脚

python - 如何使用 gzip 解压缩从服务器检索的字符串

c++ - 将大字符串发送到套接字