1. 程式人生 > >一個字串IP分割的處理小程式

一個字串IP分割的處理小程式

#include <stdio.h> #include <stdlib.h> #include <string.h> unsigned int ip_list(char *str); int main(int arg,char **argv) {     unsigned int ip_array[3];     int i; if(argc < 3) { printf("請輸入三個IP地址,中間以空格隔開!如:192.168.1.2"); exit(1); }     for(i=0; i<3; i++)     {             ip_array[i] = ip_list(argv[i+1]);             printf("array[%d] = %04x\n",i,ip_array[i]); }     return 0; } /*處理字串ip*/ unsigned int ip_list(char *str) {     unsigned char src[4];     unsigned int ip; //儲存4個位元組的ip地址     int i = 0,j = 0; memset(src,0,4); /*處理IP地址:4個位元組*/     for(i=0;i<3;i++)     {             while(str[j] != '.' && str[j] != '\0')             {                     src[i] = src[i]*10 + (str[j++]-'0');             }             j++;     } /*儲存到32位的整型變數ip中*/     ip = (src[0]<<24);     ip = (ip | (src[1]<<16));     ip = (ip | (src[2]<<8));     ip = (ip | src[3]);     return ip; }