Changeset 1194 in Sophya for trunk/SophyaExt


Ignore:
Timestamp:
Sep 19, 2000, 5:09:28 PM (25 years ago)
Author:
ansari
Message:

changement de char* en string

Location:
trunk/SophyaExt/FitsIOServer
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaExt/FitsIOServer/fitslocalmap.cc

    r1181 r1194  
    160160  dvl["Content"]= "LocalMap";
    161161  // On ecrit les dataBlocks
    162   char** Noms = new char*[1];   
    163   Noms[0]= new char[15];
    164   strncpy(Noms[0],dvl.GetS("Content").c_str(),15);
    165   char extname[15] = "SIMULATION";
     162  vector<string> Noms;   
     163  Noms.push_back(dvl.GetS("Content"));
     164  string extname("SIMULATION");
    166165
    167   char Type[2];
    168   if (typeid(T) == typeid(r_8) ) Type[0]='D';
     166  string Type;
     167  if (typeid(T) == typeid(r_8) ) Type+='D';
    169168  else
    170     if (typeid(T) == typeid(r_4) )  Type[0]='E';
     169    if (typeid(T) == typeid(r_4) )  Type+='E';
    171170    else
    172171      {
     
    174173        throw IOExc("FITS_LocalMap:: unknown type");
    175174      }
    176   Type[1]='\0';
    177175  vector<int> dummy;
    178176  os.makeHeaderBntblOnFits(Type, Noms, dobj_->NbPixels(), 1, dvl, extname, dummy);
    179   delete [] Noms[0];
    180   delete [] Noms;
    181177  os.putColToFits(0,  dobj_->NbPixels(), dobj_->DataBlock().Data());
    182178
  • trunk/SophyaExt/FitsIOServer/fitsntuple.cc

    r1143 r1194  
    160160  DVList dvl= dobj_->Info();
    161161  // extension name
    162   char* extname = "NTuple_Binary_tbl";
     162  string extname("NTuple_Binary_tbl");
    163163
    164   char** Noms = new char*[ncols];   
     164  vector<string> Noms(ncols);   
    165165  int k;
    166166  for (k=0; k< ncols; k++)
    167167    {
    168       Noms[k]= new char[LONNOM1];
    169       strncpy(Noms[k],dobj_->NomIndex(k),LONNOM1);
     168      Noms[k]= dobj_->NomIndex(k);
    170169    }
    171170
    172   char* type= new char[ncols+1];
    173   for (k=0;k<ncols+1;k++) type[k]='E';
    174   type[ncols]='\0';
     171  string type(ncols, 'E');
    175172  vector<int> dummy;
    176173
    177174  os.makeHeaderBntblOnFits(type,Noms, nentries, ncols, dvl, extname, dummy);
    178    for (k=0; k< ncols; k++)
    179     {
    180       delete [] Noms[k];
    181     }
    182    delete [] Noms;
    183    delete [] type;
    184175   float* column =  new float[nentries];
    185176   for (k=0; k<ncols;k++)
  • trunk/SophyaExt/FitsIOServer/fitsspherehealpix.cc

    r1182 r1194  
    8989  int nSide= dobj_->SizeIndex();
    9090  dvl["NSIDE"]= (int_4) nSide;
    91   cout << " je n'ecris plus nside " << endl;
    9291  dvl.SetComment("NSIDE","Resolution parameter for HEALPIX" );
    9392
     
    10099   
    101100  // On ecrit les dataBlocks
    102   char** Noms = new char*[1];   
    103   Noms[0]= new char[15];
    104   strncpy(Noms[0],dvl.GetS("Content").c_str(),15);
    105   char extname[15] = "SIMULATION";
    106 
    107   char Type[2];
    108   if (typeid(T) == typeid(r_8) ) Type[0]='D';
     101  vector<string> Noms;   
     102  Noms.push_back(dvl.GetS("Content"));
     103  string extname("SIMULATION");
     104
     105  string Type;
     106  if (typeid(T) == typeid(r_8) ) Type+='D';
    109107  else
    110     if (typeid(T) == typeid(r_4) )  Type[0]='E';
     108    if (typeid(T) == typeid(r_4) )  Type+='E';
    111109    else
    112110      {
     
    114112        throw IOExc("FITS_SphereHEALPix:: unknown type");
    115113      }
    116   Type[1]='\0';
    117114  vector<int> dummy;
    118115  os.makeHeaderBntblOnFits(Type, Noms, nPix, 1, dvl, extname, dummy);
    119   delete [] Noms[0];
    120   delete [] Noms;
    121116  os.putColToFits(0,  nPix, dobj_->pixels_.Data());
    122117}
  • trunk/SophyaExt/FitsIOServer/fitsxntuple.cc

    r1180 r1194  
    201201  DVList dvl= dobj_->Info();
    202202  // extension name
    203   char* extname = "XNTuple_Binary_tbl";
    204   char** Noms = new char*[ncols];   
     203  string extname("XNTuple_Binary_tbl");
     204  vector<string> Noms(ncols);   
    205205  int k;
    206206  for (k=0; k< ncols; k++)
    207207    {
    208       Noms[k]= new char[LONNOM+1];
    209       strncpy(Noms[k],dobj_->NomIndex(k).c_str(),LONNOM);
    210       Noms[LONNOM] = '\0';
    211     }
    212    char* types=new char[ncols+1];
    213   int compt=0;
     208      Noms[k] = dobj_->NomIndex(k) ;
     209    }
     210  string types;
    214211  for (k=0; k<dobj_->NDVar();k++)
    215212    {
    216       types[compt++]='D';
     213      types+='D';
    217214    }
    218215  for (k=0; k<dobj_->NFVar();k++)
    219216    {
    220       types[compt++]='E';
     217      types+='E';
    221218    }
    222219  for (k=0; k<dobj_->NIVar();k++)
    223220    {
    224       types[compt++]='I';
     221      types+='I';
    225222    }
    226223  for (k=0; k<dobj_->NSVar();k++)
    227224    {
    228       types[compt++]='A';
     225      types+='A';
    229226    }           
    230   types[ncols]='\0';
    231227  vector<int> StringSizes(dobj_->NSVar());
    232228  for (k=0; k< StringSizes.size(); k++) StringSizes[k]=dobj_->mStrSz;
    233229  os.makeHeaderBntblOnFits(types, Noms, nrows, ncols, dvl, extname,StringSizes);
    234    for (k=0; k< ncols; k++)
    235     {
    236       delete [] Noms[k];
    237     }
    238    delete [] Noms;
    239    delete [] types;
    240 
    241230   
    242   compt=0;
     231  int compt=0;
    243232   if (dobj_->NDVar() > 0)
    244233     {
     
    296285              ccolumn[j] = NULL;
    297286            }
     287
    298288        }
    299289      delete [] ccolumn;
Note: See TracChangeset for help on using the changeset viewer.