#include <stdlib.h>
#include"string.h"
#include"stdio.h"
char vlan[5];
unsigned char hex2int(char c)
{
if(c >= ‘0’ && c <= ‘9’) {
return (unsigned char )(c - 48);
} else if (c >= ‘A’ && c <= ‘F’) {
return (unsigned char )(c - 55);
} else if (c >= ‘a’ && c <= ‘f’) {
return (unsigned char )(c - 87);
} else {
return 0;
}
}
char *hex2str(char *hex, char str)
{
int i = 0 ;
for (int j = 0; j < strlen(hex) - 1 😉 {
unsigned char a = hex2int(hex[j++]);
unsigned char b = hex2int(hex[j++]);
str[i++] = (char)(a16 + b);
}
str[i] = ‘\0’;
printf(“str = %s!\n”,str);
return str;
}
char* return_vlan_id()
{
char op43[200] = {“766c616e3d313232352c2072616e67653d313232307e31323238”};
char vlan_id[100];
hex2str(op43, vlan_id);
printf(“vlan id =%s!\n”,vlan_id);
strncpy(vlan,vlan_id + 5, 4);
vlan[strlen(vlan)] = ‘\0’;
printf(“vlan= %s!\n”,vlan);
return vlan;
}
int main()
{
char test_vlan[5];
memset(test_vlan, 0, sizeof(test_vlan));
sprintf(test_vlan, “%s”, return_vlan_id());
printf(“test_vlan =%s!\n”,test_vlan);
return(0);
}