我如何将IP地址存储为C ++中的变量

问题描述 投票:-2回答:1

我有这段代码:

#include <conio.h>
#include <stdlib.h>
int main()
{   
    system("C:\\Windows\\System32\\ipconfig");


    getch();
}

所以我想做的是将它附带的IP地址存储为变量。我想存储IP以便以后在程序中使用。基本上,我希望用户输入IP地址以查看他们是否正确。有点像测验

c++ visual-studio ip-address
1个回答
0
投票
#define _IP_MARK "."

//IP to int
unsigned int IPtoINT(const string& strIP)
{
    unsigned int nRet = 0;

    char chBuf[16] = "";
    memcpy_s(chBuf, 15, strIP.c_str(), 15);

    char* szBufTemp = NULL;
    char* szBuf = strtok_s(chBuf, _IP_MARK, &szBufTemp);

    int i = 0;
    while (NULL != szBuf)
    {
        nRet += atoi(szBuf) << ((3 - i) * 8);
        szBuf = strtok_s(NULL, _IP_MARK, &szBufTemp);
        i++;
    }

    return nRet;
}

//int to IP
string INTtoIP(uint32_t num)
{

    string strRet = "";
    for (int i = 0; i < 4; i++)
    {
        uint32_t tmp = (num >> ((3 - i) * 8)) & 0xFF;

        char chBuf[8] = "";
        _itoa_s(tmp, chBuf, 10);
        strRet += chBuf;

        if (i < 3)
        {
            strRet += _IP_MARK;
        }
    }

    return strRet;
}
© www.soinside.com 2019 - 2024. All rights reserved.