1. 程式人生 > >MFC裡面ipaddress控制元件:獲取裡面的ip地址為字串型

MFC裡面ipaddress控制元件:獲取裡面的ip地址為字串型

其實很簡單,用一個函式GetDlgItemText()就ok了。

背景:

在MFC裡面用CAsyncSocket類寫了一個伺服器,在接收訊息時需要判斷此訊息是否來自介面IPADDRESS控制元件裡面輸入的IP地址對應的客戶端,GetPeerName函式可以得到訊息裡面包含的客戶端IP地址,那麼問題來了,此地址是一個CStriing類,需要與IPADDRESS控制元件裡面的IP進行比較,如何得到這裡面的IP呢?剛開始完全跑偏,先是給控制元件新增ctrl類的變數,然後Getaddress,又是一批轉換,但效果不明顯,得不到正確的字串型別的IP。然後給控制元件添加了value類變數,希望把從訊息裡面得到的字串型別的客戶端IP通過inet_addr()函式轉換為unsigned long型來和控制元件的變數比較,但是經過實驗發現同一個IP,這兩種方式得到的unsigned long 型資料竟然不一樣,這是為什麼呢?沒有去了解。最後在百度知道上發現了那個用法,很精巧的解決了我的問題。

so,選擇比努力更重要。