+ ostringstream fock;
+ fock << lgrCalcGroupe;
+ //sprintf(str_lgrCalcGroupe,"%d",lgrCalcGroupe);
+ elemZPrec->SetValue(fock.str());
+ if(DEBUG)printf("ecriture lgr (%d, %s) pour gr %04x\n",lgrCalcGroupe, fock.str().c_str(), grCourant);
+ if(DEBUG)printf ("%04x %04x [%s]\n",elemZPrec->GetGroup(), elemZPrec->GetElement(),elemZPrec->GetValue().c_str());
+ if(DEBUG)cout << "Addresse elemZPrec " << elemZPrec<< endl;
+ elemZPrec=elemZ;
+ lgrCalcGroupe = 0;
+ grCourant = gr;
+ if(DEBUG)printf("init-2 lgr (%d) pour gr %04x\n",lgrCalcGroupe, gr);
+ } else { // On n'EST PAS sur un nv Groupe
+ lgrCalcGroupe += 2 + 2 + 4 + elem->GetLength(); // Gr + Num + Lgr + LgrElem
+ if(DEBUG)printf("increment (%d) el %04x-->lgr (%d) pour gr %04x\n",elem->GetLength(), el, lgrCalcGroupe, gr);
+ }
+ }
+
+} // fin if (1)
+
+
+ // restent à tester les echecs en écriture (apres chaque fwrite)
+
+ for (TagElValueHT::iterator tag2 = tagHt.begin();
+ tag2 != tagHt.end();
+ ++tag2){
+
+ gr = tag2->second->GetGroup();
+ el = tag2->second->GetElement();
+ lgr = tag2->second->GetLength();
+ val = tag2->second->GetValue().c_str();
+ vr = tag2->second->GetVR();
+ if(DEBUG)printf ("%04x %04x [%s] : [%s]\n",gr, el, vr.c_str(), val);