]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOTreeAttributeDescriptor.cpp
correct sscan_f problems.
[creaImageIO.git] / src2 / creaImageIOTreeAttributeDescriptor.cpp
index 08fd784d9e26960199d35fc69585051121022305..86fb30a8e8a8afee9da74efe4b414fbfde026672 100644 (file)
@@ -100,12 +100,17 @@ namespace creaImageIO
       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 
        { 
@@ -183,15 +188,11 @@ namespace creaImageIO
                {
                        // Numerical 
                        typ = 1;
-//                     type="1";
-//                      sscanf(type.c_str(),"%u",&typ);
                }
                else
                {
                        // String
                        typ = 2;
-                       //                      type="2";
-//                      sscanf(type.c_str(),"%u",&typ);
                }
                
          }