C/C++去掉MAC地址中的冒号,获取值

':' 是字符ASCII码, ":"是字符串

printf("1. ':'   c==[%c], d==[%d], sizeof=[%d]\n",':',':',sizeof(':'));// ':'==int
printf("2. \":\"   c==[%c], s==[%s], d==[%d], sizeof=[%llu]\n", ":",":",":",sizeof(":"));//":"==字符串( "" 和 : 两个字符)

printf("\n");

char a1=':';
char *a2=":";
printf("a1==':'   c==[%c], d==[%d], sizeof=[%d]\n",a1,a1,sizeof(a1));// : 一个字符
printf("a2==\":\"   c==[%c], s==[%s], d==[%d], sizeof=[%d]\n", a2,a2,a2,sizeof(a2));//":"==字符串( "" 和 : 两个字符) ,a2指针在64位系统下是8位
printf("\n");
printf("a2==\":\"   c==[%c], d==[%d], sizeof=[%d]\n", *a2,*a2,sizeof(*a2));// : 一个字符
1. ':'   c==[:], d==[58], sizeof=[4]
2. ":"   c==[], s==[:], d==[4210688], sizeof=[2]

a1==':'   c==[:], d==[58], sizeof=[1]
a2==":"   c==[], s==[:], d==[4210688], sizeof=[8]

a2==":"   c==[:], d==[58], sizeof=[1]

C 语言

方法一

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* strdel(char* in_str,char del_x)
{
    char *p;
    char *out_str=(char *)malloc(strlen(in_str));
    char *q=out_str;
    for(p=in_str;*p!='\0';p++)
    {
        if(*p!=del_x)
        {
            *q=*p;
             q++;
        }
    }
    *q=*p;// *p=='\0'
    return out_str;
}

int main()
{
    char in_str[64];
    strcpy(in_str,"00:0c:29:c0:26:12");
    printf("in_str=[%s]\n",in_str);
    
    char *out_str=strdel(in_str,':');
    printf("out_str=[%s]\n",out_str);
    printf("Hello World!------------------------\n");
    return 0;
}
in_str=[00:0c:29:c0:26:12]
out_str=[000c29c02612]
Hello World!------------------------

方法二

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void strdel(char* in_str,char del_x)
{
    char *p;
    char *q;

    for(p=in_str,q=in_str;*p!='\0';p++)
    {
        if(*p!=del_x)
        {
            *q++=*p;// <==> *q=*p;q++;
        }
    }
    *q=*p;
}

int main()
{
    char in_str[64];
    strcpy(in_str,"00:0c:29:c0:26:12");
    printf("in_str=[%s]\n",in_str);
    strdel(in_str,':');
    printf("out=[%s]\n",in_str);
    printf("Hello World!------------------------\n");
    return 0;
}

in_str=[00:0c:29:c0:26:12]
out=[000c29c02612]
Hello World!------------------------

方法三

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char *get_str(char *str)
{
    char *pch;
    char *ret_str=(char *)calloc(0,strlen(str));
    pch = strtok(str, ":");
    while (pch != NULL)
    {
        strcat(ret_str,pch);
        pch = strtok(NULL, ":");
    }
    return ret_str;
}
int main()
{
    char str[] = "00:0c:29:c0:26:12";
    char *ret_str;
    ret_str = get_str(str);
    printf("[%s]\n", ret_str);
    return 0;
}

C++

方法四

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int main()
{
    char *in_str="00:0c:29:c0:26:12";
    //std::string str = "00:0c:29:c0:26:12";
    std::string str(in_str);
    str.erase(std::remove(str.begin(), str.end(), ':'), str.end());
    std::cout << str << std::endl;
    cout << "Hello World!---" << endl;
    return 0;
}
000c29c02612
Hello World!---

方法五

QString str = "00:0c:29:c0:26:12";
QStringList list = str.split(":");
qDebug()<<list;                     // ("00", "0c", "29", "c0", "26", "12")
QString ret_str = list.join("");    //无间隔拼接
qDebug()<<ret_str;                  //"000c29c02612"

//QStringList的join函数可以将QStringList中的所有字符串用指定的字符串连接起来,形成一个新的字符串。
QStringList list2 = {"a", "b", "c"};
QString ret_str2=list2.join("-");
qDebug()<<ret_str2;                 //"a-b-c"
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在mac系统下配置VSCode的C/C++环境需要进行以下步骤: 1. 首先确保你已经安装了VSCode编辑器。可以在VSCode官方网站上下载安装。 2. 打开VSCode,点击左侧的扩展图标,搜索并安装"C/C++"插件。这个插件提供了C/C++的语法高亮、智能提示等功能。 3. 安装好插件后,点击左下角的设置按钮,选择"首选项",再选择"设置"。在搜索框输入"C/C++",找到"C/C++: Edit Configurations(JSON)"选项,点击"在settings.json编辑"。 4. 在打开的settings.json文件,添加C/C++的编译器路径。在mac系统下,可以使用Clang作为C/C++的编译器。你可以在终端输入"clang --version"查看是否已经安装了Clang。如果没有安装,可以通过Homebrew等方式进行安装。 5. 添加Clang的编译器路径。在settings.json文件,添加以下代码: ```json "clang.cxxPath": "/usr/bin/clang++", "clang.cPath": "/usr/bin/clang" ``` 这里的"/usr/bin/clang++"是Clang的C++编译器路径,"/usr/bin/clang"是Clang的C编译器路径。请根据你自己的安装路径进行修改。 6. 保存settings.json文件,并重新启动VSCode。 7. 现在你就可以在VSCode编写和调试C/C++代码了。创建一个新的文件,将其保存为以".c"或".cpp"为后缀的文件,然后开始编写代码。 总结:在mac系统下,配置VSCode的C/C++环境需要安装"C/C++"插件,添加Clang的编译器路径,并在VSCode编写和调试C/C++代码。希望以上步骤对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值