Program: gdcm
Module: $RCSfile: gdcmDocEntry.cxx,v $
Language: C++
- Date: $Date: 2004/10/12 04:35:45 $
- Version: $Revision: 1.27 $
+ Date: $Date: 2004/11/03 20:52:13 $
+ Version: $Revision: 1.29 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#include "gdcmUtil.h"
#include <iomanip> // for std::ios::left, ...
+#include <fstream>
+
namespace gdcm
{
* @param fp already open file pointer
* @param filetype type of the file to be written
*/
-void DocEntry::Write(FILE* fp, FileType filetype)
+void DocEntry::Write(std::ofstream* fp, FileType filetype)
{
uint32_t ffff = 0xffffffff;
uint16_t group = GetGroup();
//
// ----------- Writes the common part
//
- fwrite ( &group,(size_t)2 ,(size_t)1 ,fp); //group
- fwrite ( &el, (size_t)2 ,(size_t)1 ,fp); //element
-
+ binary_write( *fp, group); //group
+ binary_write( *fp, el); //element
+
if ( filetype == ExplicitVR )
{
// Special case of delimiters:
// TODO : verify if the Sequence Delimitor Item was forced during Parsing
- int ff = 0xffffffff;
- fwrite (&ff,(size_t)4 ,(size_t)1 ,fp);
+ uint32_t ff = 0xffffffff;
+ binary_write(*fp, ff);
return;
}
{
// Unknown was 'written'
// deal with Little Endian
- fwrite ( &shortLgr,(size_t)2 ,(size_t)1 ,fp);
- fwrite ( &z, (size_t)2 ,(size_t)1 ,fp);
+ binary_write(*fp, shortLgr);
+ binary_write(*fp, z);
}
else
{
- fwrite (vr.c_str(),(size_t)2 ,(size_t)1 ,fp);
+ binary_write(*fp, vr);
+ assert( vr.size() == 2 );
if ( (vr == "OB") || (vr == "OW") || (vr == "SQ") || (vr == "UN") )
{
- fwrite ( &z, (size_t)2 ,(size_t)1 ,fp);
+ binary_write(*fp, z);
if (vr == "SQ")
{
// we set SQ length to ffffffff
// and we shall write a Sequence Delimitor Item
// at the end of the Sequence!
- fwrite ( &ffff,(size_t)4 ,(size_t)1 ,fp);
+ binary_write(*fp, ffff);
}
else
{
- fwrite ( &lgr,(size_t)4 ,(size_t)1 ,fp);
+ binary_write(*fp, lgr);
}
}
else
{
- fwrite ( &shortLgr,(size_t)2 ,(size_t)1 ,fp);
+ binary_write(*fp, shortLgr);
}
}
}
{
if (vr == "SQ")
{
- fwrite ( &ffff,(size_t)4 ,(size_t)1 ,fp);
+ binary_write(*fp, ffff);
}
else
{
- fwrite ( &lgr,(size_t)4 ,(size_t)1 ,fp);
+ binary_write(*fp, lgr);
}
}
}