IPアドレスに値を入れる方法 – プログラミング – Home

IPアドレスに値を入れる方法
 
通知
すべてクリア

[解決済] IPアドレスに値を入れる方法


にゃも
 にゃも
(@にゃも)
ゲスト
結合: 20年前
投稿: 7
Topic starter  

こんにちわ。

CString型で持っている値(例:111.0.0.0)を、
CIPAddressCtrlのSetAddress()を使ってIPアドレスとして表示したいのですが、
うまくいきません。

何かいい方法はないでしょうか?
ご教授お願いします。


引用未解決
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

'うまくいきません'を説明してください。

'.'で区切って4つの数字列とし、それぞれを数値に変換して
SetAddressに与えるだけではないかと。


返信引用
にゃも
 にゃも
(@にゃも)
ゲスト
結合: 20年前
投稿: 7
Topic starter  

言葉足らずですいませんでした。
うまくいかない、とは、
文字列を4つに分けて、それを数値に変換する、
というのがうまく出来なかったんです。

一応、不恰好ではありますが、

CString a = m_str.Left(m_str.Find('.',0));
m_str.Delete(0,(m_str.Find('.',0)+1));
CString b = m_str.Left(m_str.Find('.',0));
m_str.Delete(0,(m_str.Find('.',0)+1));
CString c = m_str.Left(m_str.Find('.',0));
m_str.Delete(0,(m_str.Find('.',0)+1));
CString d = m_str;

とし、それぞれatoi()を使用して数値に変換するようにしました。

ありがとうございました。


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

入力が必ずIPアドレスの形式であるという前提ならば
sscanfが有効です。

CString::Findは検索開始位置を指定できるのでいちいちDeleteする必要がなくなりま
す。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

inet_addr()が簡単では。

in_addr a;
a.s_addr = inet_addr(m_str);
m_ipactrl.SetAddress(a.s_net, a.s_host, a.lh, a.impno);


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました