<div dir="ltr"><div><div><div><div>Hi<br></div>sorry to bother you with a silly question but I didn't understand yet how to solve this simple problem.<br></div>I have a FIX message in form of a string which I use to initialize aan object FIX::Message.<br></div>I would like to iterate on the FIX tags in the order they appear in the string.<br></div><div>The following is an extract of my code. Unfortunately the loop on the iterator returns the tags in "alphabetical order.<br></div><div>Do you have any suggestion for my problem?<br></div><div>Thanks in advance.<br></div><div>Regards,<br></div><div>Oscar Porta<br><br><br></div><div>// -------------------------<br>void myFunc(char *inMsg)<br>{<br>    FIX::Message *fm = new FIX::Message(inMsg);<br><br></div>    // this iterates in "alphabetical" order<br><div>    for (FIX::Message::iterator it=fm->begin(); it!=fm->end(); it++)<br>    {<br>        FIX::FieldBase f = it->second;<br>        int i = it->first;<br>        std::string v = f.getString();<br>        printf("%d %s\n", i, v.c_str());<br>    }<br>}<br><br>with this input message<br>8=FIX.4.4
 9=404 35=AE 34=2733 49=XLON_XCL 50=CERT 52=20160307-13:50:32.070 
56=SECT_FIX_01 57=XCL_XLON 17=T6AG81JXIT 30=XLON 31=5.6 32=1464 
55=GB0008754136 60=20160307-13:50:31 64=20160309 75=20160307 207=XLON 
487=0 552=2 54=1 37=00QOlNRJ5boJ 11=INTERCCP 453=1 448=LCHLGB2L 447=D 
452=1 581=3 15=GBP 528=P 54=2 37=00QOlNRJ5boI 11=05157090220000 453=1 
448=UBSWGB24 447=D 452=1 581=3 15=GBP 528=P 570=N 571=T6AG81JXIT 828=0 
10=232 <br><br></div><div>produces the followin "alphabetical" list<br></div>11 INTERCCP<br>11 05157090220000<br>15 GBP<br>15 GBP<br>17 T6AG81JXIT<br>30 XLON<br>31 5.6<br>32 1464<br>37 00QOlNRJ5boJ<br>37 00QOlNRJ5boI<br>54 1<br>54 2<br>55 GB0008754136<br>60 20160307-13:50:31<br>64 20160309<br>75 20160307<br>207 XLON<br>447 D<br>447 D<br>448 LCHLGB2L<br>448 UBSWGB24<br>452 1<br>452 1<br>453 1<br>453 1<br>487 0<br>528 P<br>528 P<br>552 2<br>570 N<br>571 T6AG81JXIT<br>581 3<br>581 3<br>828 0</div>