if ( (key.size()==10) &&
(key[0] == 'D') &&
(key[5] == '_') )
- {
+ {
std::string g = key.substr(1,4);
- sscanf(key.c_str(),"D %04x _ %04x ",&group,&elem);
- sscanf(g.c_str(),"%04x",&group);
- GimmickDebugMessage(3,"GetDicomGroupElementFromKey '"<<g<<"' : "
- <<group<<"|"<<elem<<std::endl);
+ std::string e = key.substr(6,4);
+ std::stringstream val;
+ val << std::dec << g.c_str() ;
+ val >> std::hex >> group;
+ val.clear();
+ val << std::dec << e.c_str();
+ val >> std::hex >> elem;
+ //sscanf_s(key.c_str(),"D%04x_%04x ",&group,&elem);
+ GimmickDebugMessage(3,"GetDicomGroupElementFromKey '"<<key<<"' : " <<group<<"|"<<elem<<std::endl);
}
else
{
{
// Numerical
typ = 1;
-// type="1";
-// sscanf(type.c_str(),"%u",&typ);
}
else
{
// String
typ = 2;
- // type="2";
-// sscanf(type.c_str(),"%u",&typ);
}
}