我有一个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);
}