网络编程 inet_pton函数

在下面的函数出现了错误,编译的时候函数inet_pton函数出错,但是不知到原因,难道这个函数的用法错了吗

 #include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<stdio.h>
#include<stdlib.h>
#include<strings.h>
void outputError(char *message)
{
    fprintf(stdout, "error:%s\n",message);
    exit(0);
}

int main(int argc, char *argv[])
{

    int sockFd;
    char receiveBuffer;
    struct sockaddr_in server_addr;
    int port=13;
    if(argc!=2)
    {
    outputError("usage:getTime <IPaddress>");
    }
    if((sockFd=socket(AF_INET, SOCK_STREAM, 0))<0)
    {
    outputError("socket occured error!");
    }
    bzero(&server_addr, sizeof(server_addr));
    server_addr.sin_family=AF_INET;
    server_addr.sin_port=htonl(port);
    if((inet_pton(AF_INET, argv[1], &server_addr.sin_addr))<=0);
    {
    outputError("inet_pton occured error!");
    }
    if(connect(sockFd, (struct sockaddr*)&server_addr, sizeof(server_addr)<0));
    {
        outputError("connect to server failied");
    }
    while((read(sockFd, receiveBuffer, 1))==1)
    {
    fprintf(stdout, "%c", receiveBuffer);
    }
    exit(0);
}
```![图片说明](https://img-ask.csdn.net/upload/201507/10/1436536128_266268.png)

if((inet_pton(AF_INET, argv[1], &server_addr.sin_addr))<=0); 把最后那个 "; "去掉,之后connect的调用也有这个问题

server_addr.sin_port是unsigned short,改成server_addr.sin_port=htons(port);

http://blog.csdn.net/dddfly/article/details/3443189

先检查有没有不符合语法规范的地方,再说调用的问题!

是有几个语法错误,但是函数出错并不是这些原因,我把该了之后的code运行,还是一样的出错了,同样是inet_pton函数执行失败

 #include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<stdio.h>
#include<stdlib.h>
#include<strings.h>
void outputError(char *message)
{
    fprintf(stdout, "error:%s\n",message);
    exit(0);
}

int main(int argc, char *argv[])
{

    int sockFd;
    char receiveBuffer;
    struct sockaddr_in server_addr;
    int port=13;
    if(argc!=2)
    {
    outputError("usage:getTime <IPaddress>");
    }
    if((sockFd=socket(AF_INET, SOCK_STREAM, 0))<0)
    {
    outputError("socket occured error!");
    }
    bzero(&server_addr, sizeof(server_addr));
    server_addr.sin_family=AF_INET;
    server_addr.sin_port=htons(port);
    if((inet_pton(AF_INET, argv[1], &server_addr.sin_addr))<=0)
    {
    outputError("inet_pton occured error!");
    }
    if(connect(sockFd, (struct sockaddr*)&server_addr, sizeof(server_addr)<0))
    {
        outputError("connect to server failied");
    }
    while((read(sockFd, receiveBuffer, 1))==1)
    {
    fprintf(stdout, "%c", receiveBuffer);
    }
    exit(0);
}