streamtest.cc

Go to the documentation of this file.
00001 #include "foundation_AMOS.hh"
00002 #include <iostream>
00003 using namespace AMOS;
00004 using namespace std;
00005 
00006 int main (int argc, char ** argv)
00007 {
00008   if ( argc != 2 )
00009     {
00010       cerr << "USAGE: " << argv[0] << " <outfile>" << endl;
00011       exit (-1);
00012     }
00013 
00014   const uint8_t u8c = 0x01;
00015   const uint16_t u16c = 0x0123;
00016   const uint32_t u32c = 0x01234567;
00017   const uint64_t u64c = 0x0123456789ABCDEFull;
00018 
00019   const int8_t s8c = -u8c;
00020   const int16_t s16c = -u16c;
00021   const int32_t s32c = -u32c;
00022   const int64_t s64c = -u64c;
00023 
00024   cout << "BEFORE." << endl
00025        << (unsigned long long)u8c << endl
00026        << (unsigned long long)u16c << endl
00027        << (unsigned long long)u32c << endl
00028        << (unsigned long long)u64c << endl
00029        << (long long)s8c << endl
00030        << (long long)s16c << endl
00031        << (long long)s32c << endl
00032        << (long long)s64c << endl << endl;
00033 
00034   uint8_t u8;
00035   uint16_t u16;
00036   uint32_t u32;
00037   uint64_t u64;
00038 
00039   int8_t s8;
00040   int16_t s16;
00041   int32_t s32;
00042   int64_t s64;
00043 
00044   fstream as;
00045   as . open (argv[1], ios::out | ios::binary | ios::trunc);
00046   writeLE (as, &u8c);
00047   writeLE (as, &u16c);
00048   writeLE (as, &u32c);
00049   writeLE (as, &u64c);
00050   writeLE (as, &s8c);
00051   writeLE (as, &s16c);
00052   writeLE (as, &s32c);
00053   writeLE (as, &s64c);
00054   as . close( );
00055 
00056   as . open (argv[1], ios::in | ios::binary);
00057   readLE (as, &u8);
00058   readLE (as, &u16);
00059   readLE (as, &u32);
00060   readLE (as, &u64);
00061   readLE (as, &s8);
00062   readLE (as, &s16);
00063   readLE (as, &s32);
00064   readLE (as, &s64);
00065   as . close( );
00066 
00067   cout << "AFTER." << endl
00068        << (unsigned long long)u8 << endl
00069        << (unsigned long long)u16 << endl
00070        << (unsigned long long)u32 << endl
00071        << (unsigned long long)u64 << endl
00072        << (long long)s8 << endl
00073        << (long long)s16 << endl
00074        << (long long)s32 << endl
00075        << (long long)s64 << endl << endl;
00076 
00077   if ( u8c == u8 && u16c == u16 && u32c == u32 && u64c == u64 &&
00078        s8c == s8 && s16c == s16 && s32c == s32 && s64c == s64 )
00079     {
00080       cout << "SUCCESS!" << endl;
00081       return 0;
00082     }
00083   else
00084     {
00085       cout << "FAILURE!" << endl;
00086       return -1;
00087     }
00088 }

Generated on Mon Feb 22 17:36:27 2010 for libAMOS by  doxygen 1.4.7