6
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
int main()
{
uint32_t ip = 0;
printf("%s\n",inet_ntoa(*(struct in_addr *)ip));
return 0;
}
私は一時変数を宣言することでこれを行いたくありません。このプログラムは、セグメンテーションフォールトを与えます。uint32_tをstruct in_addrに変換するには?
struct in_addr {
uint32_t s_addr;
};
私は何かばかげたことを知っていた – Bruce
私は同じ行にhtonlをするにはどうすればいいですか? – Bruce
結果は実装が定義されていません。それは警告を出します:エラー:逆参照ポインタ 'ip'は厳密なエイリアシング規則を破りません – jrwren