Bonjour!
J'ai une trame que je dois découper en champs, mais mon problème est que certains champs n'ont pas une taille fixe; J'aurais aimé faire une déclaration type champs de bits mais ce n'est pas possible avec les strings
Mon champs STC sera de taille variable en fonction de la valeur de NST (J'ai déjà crée la fonction convertissant du string vers le décimal)
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 struct ETI_NI { string Erreur; string Fsync; string FCT; string FICF; string NST; string FP; string MID; string FL; string STC; string EOH; string MST; string EOFile; string TIST; string Padding; //Décomposition de la trame en champs void Attribute_fields (string trame_ok) { Erreur = trame_ok.substr(0,8); Fsync = trame_ok.substr(8,24); FCT = trame_ok.substr(32,8); FICF = trame_ok.substr(40,1); NST = trame_ok.substr(41,7); FP = trame_ok.substr(48,3); MID = trame_ok.substr(51,2); FL = trame_ok.substr(53,11); } };
QQun peut m'aider?
Merci
Partager