银河麒麟(linux 架构aarch64) 获取本机所有IP地址

这篇具有很好参考价值的文章主要介绍了银河麒麟(linux 架构aarch64) 获取本机所有IP地址。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

环境:

版本:银河麒麟桌面操作系统V10(SP1)
内核:Linux 5.4.18-35-generic
CPU:Phytium,D2000/8

终端输入 uname -m 查看
架构 aarch64

在windows 上 和 银河麒麟(linux loongarch64) 使用下面的代码获取IP地址:

银河麒麟(linux) gethostname 获取不到IP地址_程序媛zcx的博客-CSDN博客_银河麒麟查看ip地址

同样的代码 在银河麒麟(linux 架构loongarch64)可以,但是在 银河麒麟(aarch64)上不可以,于是用读文件的方式获取所有ip地址列表,代码如下:

std::vector<std::string> WHUDP:: getIpList() {
    std::vector<std::string> result;
    char buff[BUFSIZ];
    int i=0,k=0;
    char tmpbuff[1];
    int ret=0;
    FILE * addrFile;
    addrFile = popen("ifconfig", "r");
    memset(buff,0,BUFSIZ);
    while(1) {
        ret = fread(tmpbuff, 1, 1, addrFile);
        if(ret)
        {
            buff[i]=tmpbuff[0];
            i++;
            if(buff[i - 1]=='\n')
            {
                string str = buff;
                string::size_type idx = str.find("inet ");
//                cout<< "buff111111== " << buff << " idx== " << to_string(idx) << endl;
                if(idx == string::npos) {
                } else {
//                    cout<< "buff222== " << buff  << endl;
//                    stringstream strsplite(str);
//                    char c = ' ';
//                    vector<string> resArr;
//                    string ss1;
//                    while(getline(strsplite, ss1, c)) {
//                        cout<< "ss1=== " << ss1 << endl;
//                        resArr.push_back(ss1);
//                    }
//                    string ipstr = resArr[9];
//                    cout<< " ipstr11===  " << ipstr << endl;

//                    result.push_back(ipstr);

                    int start = idx+5;
                    for(k=start;k< strlen(buff);k++)
                    {
                        if(buff[k]==' ')
                        {
//                            cout<< "===========" << to_string(k-(start)) << endl;
                            string ipstr=str.substr(start,k-(start));
//                            cout<< " ipstr11===" << ipstr << endl;
                            result.push_back(ipstr);
                            k=0;
                            i=0;
                            memset(buff,0,BUFSIZ);
                            break;
                        }
                    }
                }
                k=0;
                i=0;
                memset(buff,0,BUFSIZ);
            }
        }
        else
        {
            break;
        }

    }
    fclose(addrFile);

    return result;
}

银河麒麟(linux 架构aarch64) 获取本机所有IP地址

 文章来源地址https://www.toymoban.com/news/detail-515519.html

到了这里,关于银河麒麟(linux 架构aarch64) 获取本机所有IP地址的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux aarch64架构中使用docker安装mysql8

    1、遇到问题: 官网下载mysql包,安装完成后,启动mysql一直显示-bash: ./mysqld: 无法执行二进制文件。 网上找了各种资料,但是都没有作用,怀疑自己操作姿势不正确,以为是自己包下错了(其实也是包不对),重新下载了不同的各种包,换了各种安装方法,发现仍旧启动不了

    2024年02月14日
    浏览(37)
  • (三)基于arm64/aarch64架构的Debian Linux中mysql5.7+详细安装过程

    (一)移动端安卓手机改造成linux服务器Linux中安装软件踩坑历险记 (二)Debian Linux系统中安装oracle JDK1.8详细过程(arm64/aarch64架构下) 在上一篇文章中,主要分享了 改造后的安卓手机Linux系统中 JDK1.8的安装与环境变量配置等内容。本文就 基于arm/aarch64指令集架构的Linux系统中 mysql5

    2024年01月21日
    浏览(42)
  • linux系统(centos、ubuntu、银河麒麟服务、uos、deepin)判断程序是否已安装,通用判断方法:使用所有应用和命令的判断

    项目中需要判断linux服务器中是否已经安装了某个服务 方法有很多种,但是很多都不通用, 脚本代码就不容易做成统一的 用下面的脚本代码去进行判断 脚本意思如下: 输入java -version命令,将返回的字符串输出第一行 如果里面包含java version这个字符串则说明jdk已经安装  下

    2024年02月11日
    浏览(46)
  • qt-c++进阶1-window、linux下获取本机所有网卡ip信息、根据网卡名获取ip地址。

    例如:第一章 主要是通过qt-c++实现获取本机电脑的网卡信息或者是IP信息 总结c++获取本机网卡信息的方法 第一章:适用于windows操作系统、linux操作系统 用 QHostAddress 解析获取本机 IPV4地址 ; 用 QNetworkInterface 解析获取所有网关信息( IP地址(IPV4和IPV6) 、 子网掩码 、 广播地

    2024年02月13日
    浏览(34)
  • 银河麒麟 Arm64 v10 sp1系统QT环境搭建指南

    原版系统麒麟V10 sp1 自带的QTCreator 不带QT内核;需要手动下载安装; 下载地址: 安装指南 银河麒麟V10+飞腾处理器+ARM+Qt5.12.8离线安装包_倔强的眼神的博客-CSDN博客 https://download.csdn.net/download/tudou23115/87853395?spm=1001.2014.3001.5501 在线安装 离线安装 安装后 opengl gllib可能会被降级

    2024年02月15日
    浏览(47)
  • qemu+kvm安装银河麒麟V10SP1 arm64 虚拟机

    系统镜像 Kylin-Desktop-V10-SP1-Release-2107-arm64.iso QEMU_EFI.fd(下载地址 http://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/QEMU_EFI.fd) 注:麒麟系统要求磁盘大小在50G以上. 参数说明: -m 4096 指定内存大小,单位MB -cpu cortex-a72 CPU 型号 -smp 8,cores=8,threads=1,sockets=1 1颗CPU,8核8线

    2024年01月21日
    浏览(88)
  • 【Linux】银河麒麟V10 ARM架构_安装JDK8-kylinV10(Kylin Linux Advanced Server V10 )操作系统(CentOS8)

    🦄 个人主页——🎐开着拖拉机回家_大数据运维-CSDN博客 🎐✨🍁 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥 🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁🍁🪁🍁🪁 🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁🍁🍁🪁🍁 感谢点赞和关注 ,每天

    2024年02月05日
    浏览(53)
  • arm/aarch64架构安装conda环境

    首先找到一个下载conda的地址 清华源anaconda地址 可以看到conda在不同系统环境下有如下版本 鉴别不同国产系统可参考:国产的开源操作系统都有哪些? 这里用阿里arm/aarch64架构 所以下载连接为 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2023.03-Linux-aarch64.sh 可以手动下载上

    2024年02月14日
    浏览(26)
  • 银河麒麟 ARM 架构 离线安装Docker

    1. 下载对应的安装包 进入此地址下载对应的docker 离线安装包 下载地址 将文件上传到服务器 解压此文件 将 docker 相关命令拷贝到 /usr/bin,方便直接运行命令 启动Docker守护程序 验证是否安装成功,执行docker info命令,若正常打印版本信息则安装成功。 打印出一下则安装成功,

    2024年02月07日
    浏览(52)
  • 飞腾FT-2000+/64银河麒麟服务器v10安装及(LSI)MegaRAID配置

    环境说明: cpu:Phytium,FT-2000+/64 bios: 昆仑固件 操作系统:Kylin Linux Advanced Server V10 (Lance) raid卡:AVAGO MegaRAID SAS 9361-8i 存储:2块SSD,11块HDD 部署要求 使用LSI创建raid,2块ssd作raid1(拿到设备时此项已作好本次不重作),使用u盘安装kylin到ssd raid上,11块hdd作raid5+1热备。 遇到的问题:

    2024年03月28日
    浏览(97)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包