0
これは私がしようとしているコードです:なぜinet_ntoaはこのコードで0.0.0.0を返しますか?
#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <unistd.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdint.h>
#include <string.h>
int main(){
uint8_t dip[4]={127,0,0,1};
struct sockaddr_in serv_addr;
memset(&serv_addr, 0, sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = 5000;
memcpy(&serv_addr, dip, 4);
printf("IP: %s\n", inet_ntoa(serv_addr.sin_addr));
return 0;
}
そして、これは私のターミナル
IP: 0.0.0.0
私はその結果を取得した理由を私は理解していない上、最終的な結果です。誰がそれが起こっているか知っていますか?
あなたは 'memcpy(&(serv_addr.sin_addr)、dip、4);'を意味しましたか? –
http://stackoverflow.com/questions/20778771/what-is-the-difference-between-0-0-0-0-127-0-0-1-and-localhost –
おっと...ありがとう! –