题解 | #整数与IP地址间的转换#

整数与IP地址间的转换

https://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea

#include <iostream>
#include <string>
#include <sstream>

unsigned long iptonum(std::string& s) {
    std::string token;
    std::stringstream ss(s);
    //从字符串解析数据
    unsigned long  result = 0;
    while (std::getline(ss, token, '.')) {
        result = (result << 8) + std::stoi(token);
    }
    return result;
}

std::string numtoip(std::string& l) {
    unsigned long num = std::stoul(l);
    std::stringstream ss;
    //字符串拼接和转换
    ss << ((num >> 24) & 0xFF) << '.' << ((num >> 16) & 0xFF) << '.'
    << ((num >> 8) & 0xFF) << '.' << (num & 0xFF);
    std::string res = ss.str();
    return res;
}


int main() {
    std::string s;
    std::string l;

    std::getline(std::cin, s);
    // std::cin.ignore();
    std::getline(std::cin, l);
    unsigned long  ipnum = iptonum(s);
    std::string ip = numtoip(l);
    std::cout << ipnum << std::endl;
    std::cout << ip << std::endl;
    return 0;
}

全部评论

相关推荐

owwhy:难,技术栈在嵌入式这块显得非常浅,并且简历有大问题。教育经历浓缩成两行就行了,写什么主修课程,说的不好听这块没人在意,自我评价删了,项目写详细点,最终简历缩成一页。相关技能怎么说呢,有点差了,还写成这么多行
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务