uint32 t轉換成IP字串

2021-07-02 13:40:55 字數 616 閱讀 7640

大概思路是對的,每次取8位進行處理,然後字串內加入乙個'.',最後再用'\0'代替最後乙個'.'

然後8位數字0-255,當然012這種0是不展現的,最後000的情況還需要補0,當時在紙上寫的時候0處理得不夠好,回來以後想了想,設乙個flag標誌表示是否前面已經有大於0的數,有的話'0' 就加入字串,沒有的話省略,最後如果flag沒有被重置的話就補乙個'0'。

大概思路就是這樣,下面附上**

測試用例用了0x0->0.0.0.0、0xffffffff->255.255.255.255

然後一些比較隨機和綜合的數0x0x64646464->100.100.100.100、0x66164e00->102.22.78.64

char* changeip(uint32_t num)

p--;

*p='\0';

return res;

}char* make8bit(char *p,uint32_t num)

else

} num = num % (int)pow(10,i);

} if (!flag)

*(p++)='.';

return p;

}

ip位址轉換成字串

from 從網路上接收的ip位址,有時候為了節省空間,用乙個32位無符號整形資料表示ipv4位址。我們接收到之後,又需要轉換成呢個數字和點格式的字串來進行後續的操作。比較勤奮點的人會自己寫個函式做轉換。我屬於比較懶的。不願意做別人已經做過的事情。實際上,在linux裡面,這些轉換都有系統函式完成的。...

字串轉換成整數

題目詳情 輸入乙個表示整數的字串,把該字串轉換成整數並輸出,例如輸入字串 345 則輸出整數345。請完成函式strtoint,實現字串轉換成整數的功能。友情提醒 提交 之前,請複查下你的程式,比如當給的字串是如左邊所示的時候,有考慮到麼?當然,它們各自對應的正確輸出如右邊所示 假定你是在32位系統...

字串轉換成整數

輸入乙個表示整數的字串,把該字串轉換成整數並輸出,例如輸入字串 345 則輸出整數345。需要考慮的問題 1.由於整數可能不僅僅之含有數字,還有可能以 或者 開頭,表示整數的正負。2.處理非法輸入。在使用指標之前判斷這個指標是不是為空。3.輸入的字串中可能含有不是數字的字元。4.最後乙個需要考慮的問...