C++ 对比前n个字符并返回指向=后面的char 指针
发布日期:2021-06-29 01:27:11 浏览次数:2 分类:技术文章

本文共 856 字,大约阅读时间需要 2 分钟。

定义一个字符指针数组

char *mParams[NL_PARAMS_MAX];
用asprintf格式化字符串

asprintf(&mParams[0], "ADDRESS=%s/%d", addrstr, ifaddr->ifa_prefixlen);asprintf(&mParams[1], "INTERFACE=%s", ifname);asprintf(&mParams[2], "FLAGS=%u", ifaddr->ifa_flags);asprintf(&mParams[3], "SCOPE=%u", ifaddr->ifa_scope);asprintf(&mParams[4], "IFINDEX=%u", ifaddr->ifa_index);
const char *NetlinkEvent::findParam(const char *paramName) {    size_t len = strlen(paramName);    for (int i = 0; i < NL_PARAMS_MAX && mParams[i] != NULL; ++i) {        const char *ptr = mParams[i] + len;        if (!strncmp(mParams[i], paramName, len) && *ptr == '=')            return ++ptr;    }    SLOGE("NetlinkEvent::FindParam(): Parameter '%s' not found", paramName);    return NULL;}

注意asprint 使用完需要释放

for (i = 0; i < NL_PARAMS_MAX; i++) {        if (!mParams[i])            break;        free(mParams[i]);    }

转载地址:https://blog.csdn.net/yt_42370304/article/details/106547802 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:AUTOSAR概述
下一篇:在Android 9 中移植自己的app,用到automove 中Car service和Car-lib,简单总结一下

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月21日 09时07分57秒