src.sin_addr.s_addr = inet_addr("*.*.*.*"); //構建網路位址。
printf("%s\n",inet_ntoa(src.sin_addr)); //將網路位址轉換成字串。
注意::
inet_ntoa存在的問題是inet_ntoa的返回值是乙個static型別的char *指標,所以會出現問題::
char *a1,a2;
src.sin_addr.s_addr = inet_addr("192.168.1.123");
a1 =inet_ntoa(src.sin_addr);
src.sin_addr.s_addr = inet_addr("192.168.1.124");
a2 = inet_ntoa(src.sin_addr);
printf("a1:%s\n",a1);
顯示為:: a1:192.168.1.124
printf("a2:%s\n",a2);
顯示為: a2:192.168.1.124
原因是靜態的static char *
Linux下網路IP位址的轉換函式
網路ip位址本是用32位二進位制來表示的,為了記憶的方便可以用點分十進位制來表示ip位址,同時,網路ip位址在網路傳輸和計算機內部的儲存方式也不同,需要用函式來進行轉換。1.將點分十進位制字串轉換成十進位製長整型數 in addr t inet addr const char cp in addr ...
Linux下網路IP位址的轉換函式
網路ip位址本是用32位二進位制來表示的,為了記憶的方便可以用點分十進位制來表示ip位址,同時,網路ip位址在網路傳輸和計算機內部的儲存方式也不同,需要用函式來進行轉換。1.將點分十進位制字串轉換成十進位製長整型數 in addr t inet addr const char cp in addr ...
Linux下網路IP位址的轉換函式
網路ip位址本是用32位二進位制來表示的,為了記憶的方便可以用點分十進位制來表示ip位址,同時,網路ip位址在網路傳輸和計算機內部的儲存方式也不同,需要用函式來進行轉換。將點分十進位制字串轉換成十進位製長整型數 in addr t inet addr const char cp in addr t ...