Bonjour,
Pourriez vous me donner la fonction exacte en C pour transformer une chaîne de caractère de taille fixe de la formeavec x un caractère hexadécimale (0-16) en un tableau de 6 octets.
Code : Sélectionner tout - Visualiser dans une fenêtre à part xx:xx:xx:xx:xx:xx
Il serait soit disant possible de le faire avec un sprintf mais je n'ai pas réussi à faire ce que je voulais.
Actuellement je fais ça comme cela mais je ne suis pas sur que ça marche à coup sur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 i=0; u =0; while(i<17) { if( macTexte[i] != ':' ) { pMac[u] = macTexte[i]; u++; } i++; } for(i=0; i<11; i=i+2) { int a,b; u = 0; if(pMac[i+u] == '0') { a = 0; }; if(pMac[i+u] == '2') { a = 2; }; if(pMac[i+u] == '3') { a = 3; }; if(pMac[i+u] == '4') { a = 4; }; if(pMac[i+u] == '5') { a = 5; }; if(pMac[i+u] == '6') { a = 6; }; if(pMac[i+u] == '7') { a = 7; }; if(pMac[i+u] == '8') { a = 8; }; if(pMac[i+u] == '9') { a = 9; }; if(pMac[i+u] == 'a') { a = 10; }; if(pMac[i+u] == 'b') { a = 11; }; if(pMac[i+u] == 'c') { a = 12; }; if(pMac[i+u] == 'd') { a = 13; }; if(pMac[i+u] == 'e') { a = 14; }; if(pMac[i+u] == 'f') { a = 15; }; u = 1; if(pMac[i+u] == '0') { b = 0; }; if(pMac[i+u] == '1') { b = 1; }; if(pMac[i+u] == '2') { b = 2; }; if(pMac[i+u] == '3') { b = 3; }; if(pMac[i+u] == '4') { b = 4; }; if(pMac[i+u] == '5') { b = 5; }; if(pMac[i+u] == '6') { b = 6; }; if(pMac[i+u] == '7') { b = 7; }; if(pMac[i+u] == '8') { b = 8; }; if(pMac[i+u] == '9') { b = 9; }; if(pMac[i+u] == 'a') { b = 10; }; if(pMac[i+u] == 'b') { b = 11; }; if(pMac[i+u] == 'c') { b = 12; }; if(pMac[i+u] == 'd') { b = 13; }; if(pMac[i+u] == 'e') { b = 14; }; if(pMac[i+u] == 'f') { b = 15; }; mac[i/2] = (u_char) a*16 + b;
Partager