在C语言中,如何将字符串“192.168.1.1”转换成MAC地址或IP地址?

2024-12-25 06:41:31
推荐回答(4个)
回答1:

//将CString 型IP地址在IPAddressCtrl中显示
CString strIP="192.168.1.1";
DWORD dwIP;
dwIP = inet_addr(strIP);
unsigned char *pIP = (unsigned char*)&dwIP;
m_ipAddr.SetAddress(*pIP, *(pIP+1), *(pIP+2), *(pIP+3));

//将IPAddressCtrl中的IP地址获得并转换成CString型
unsigned char *pIP;
CString strIP;
DWORD dwIP;
m_ipAddr.GetAddress(dwIP);
pIP = (unsigned char*)&dwIP;
strIP.Format("%u.%u.%u.%u",*(pIP+3), *(pIP+2), *(pIP+1), *pIP);
参考别人的,可以借鉴下。

回答2:

根据IP地址是得不到MAC地址的,因为这是两个不同的概念。
字符串转IP地址,也不用转的,因为也没有这个说法。 IP地址可以用字符串保存

回答3:

因为ip地址每个段必然是最多3位数字

所以,定义一个字符串"192.168.1.1",for循环整个字符串。以‘.’为分隔,如果'.'之前为一个字符就补充两个0,为两个字符就补充1个0.

大概思路就是这样

回答4:

我这几天就是编取MAC地址,成功了。
只在同网段的局域网有效,不同网段是无法取到MAC的。
我用的是C++BUILDER6.0,方法不通用,所以,我提供了也对你无用。
不是通用方法,普通办法不易实现。