我有char *MAC="aa:bb:cc:dd:ee:ff:99"
。 在此字符串中,所有值均为“十六进制”格式。C转换MAC地址的字符串操作
如何将它存储到另一个字符串中,并删除前两个数字,最后四个数字应该是这样的: "ss.ttt.uu.vv"
。
这里ss是“cc”的十进制数,ttt同样是“dd”的十进制数。
#define DELIM ":"
int tok(char *str_to_tokenize)
{
// char str_to_tokenize[] = "- Strtok is meant for - breaking up, strings with funny values. + 5";
char *str_ptr;
fprintf(stdout, "Split \"%s\" into tokens:\n", str_to_tokenize);
str_ptr = strtok(str_to_tokenize, DELIM);
for(; str_ptr != NULL ;){
fprintf(stdout, "%s\n", str_ptr);
str_ptr = strtok(NULL, DELIM);
}
return 0;
}
int main()
{
char* buffer="aa:bb:c:dd:ee:ff:gg";
tok(buffer);
return 0;
}
'的strtok()','的snprintf()'。 – 2013-02-23 06:19:46
@ user95711 - 这是值得你有一个bash - 可能会学到一些东西。 – 2013-02-23 06:27:36
我可以将它们溢出,但不知道如何将它们转换并合并为小数点 – 2013-02-23 06:42:08