我有一个C程序,它捕捉数据,其中它捕捉MAC地址。然而,虽然MAC可能是例如00:0F:3A:D3,但程序会像0:F:3A:D3那样捕获它有没有办法检查字符串,看看两个“:”之间是否有一个字符,如果有,在前面加一个零?
我不是一个好的程序员,所以任何帮助都是值得感谢的-谢谢:)

最佳答案

int main() {
    char *s = "0:F:3A:D3";
    char o[15];
    int a, b, c, d;
    sscanf(s, "%X:%X:%X:%X", &a, &b, &c, &d);
    sprintf(o, "%02X:%02X:%02X:%02X", a, b, c, d);
    printf(o);
}

10-08 07:52