Quantcast
Channel: Visual C forum
Viewing all articles
Browse latest Browse all 15302

Access data with C++

$
0
0

This is the data in a file:

 

Position            Hexa                                                                           display

                                                                                                          (not to accrete)

00000000  31 39 31 30  30 30 30 30  30 30 30 30  30 30 30 30  1910000000000000 

00000010  30 30 30 30  30 30 02 66  2C 38 EA 2F  30 31 30 38  000000[1]f,8ê/0108 

00000020  31 33 EB 2F  30 32 30 38  31 33 EE 2F  30 35 30 38  13ë/020813î/0508 

00000030  31 33 EF 2F  30 36 30 38  31 33 F0 2F  30 37 30 38  13ï/060813d/0708 

00000040  31 33 F1 2F  30 38 30 38  31 33 F2 2F  30 39 30 38  13ñ/080813ò/0908 

00000050  31 33 F5 2F  31 32 30 38  31 33 F6 2F  31 33 30 38  13o/120813ö/1308 

00000060  31 33 F7 2F  31 34 30 38  31 33 F8 2F  31 35 30 38  13÷/140813o/1508 

00000070  31 33 F9 2F  31 36 30 38  31 33 FD 2F  32 30 30 38  13ù/160813y/2008 

00000080  31 33 FE 2F  32 31 30 38  31 33 FF 2F  32 32 30 38  13_/210813ÿ/2208 

00000090  31 33 00 30  32 33 30 38  31 33 03 30  32 36 30 38  13ú0230813

02608 

000000A0  31 33 04 30  32 37 30 38  31 33 05 30  32 38 30 38  13

027081302808 

000000B0  31 33 06 30  32 39 30 38  31 33 07 30  33 30 30 38  13029081303008 

000000C0  31 33 08 30  33 31 30 38  31 33 09 30  30 31 30 39  130310813       00109 

000000D0  31 33 0A 30  30 32 30 39  31 33 0B 30  30 33 30 39  13ú002091300309 

000000E0  31 33 0C 30  30 34 30 39  31 33 0D 30  30 35 30 39  1300409130509 

000000F0  31 33 0E 30  30 36 30 39  31 33 11 30  30 39 30 39  13006091300909 

00000100  31 33 12 30  31 30 30 39  31 33 13 30  31 31 30 39  13010091301109 

00000110  31 33 14 30  31 32 30 39  31 33 15 30  31 33 30 39  13012091301309 

00000120  31 33 18 30  31 36 30 39  31 33 19 30  31 37 30 39  13016091301709 

00000130  31 33 1A 30  31 38 30 39  31 33 1B 30  31 39 30 39  13018091301909 

00000140  31 33 1C 30  32 30 30 39  31 33 1F 30  32 33 30 39  130200913­02309 

00000150  31 33 20 30  32 34 30 39  31 33 21 30  32 35 30 39  13 0240913!02509 

00000160  31 33 22 30  32 36 30 39  31 33 23 30  32 37 30 39  13"0260913#02709 

00000170  31 33 26 30  33 30 30 39  31 33 37 25  33 31 30 31  13&03009137%3101 

00000180  30 36 95 2C  30 31 30 34  31 31 B3 2C  30 31 30 35  06,0104113,0105 

00000190  31 31 D2 2C  30 31 30 36  31 31 F0 2C  30 31 30 37  11O,010611d,0107 

000001A0  31 31 0F 2D  30 31 30 38  31 31 2E 2D  30 31 30 39  11-010811.-0109 

000001B0  31 31 4C 2D  30 31 31 30  31 31 6B 2D  30 31 31 31  11L-011011k-0111 

000001C0  31 31 89 2D  30 31 31 32  31 31 A8 2D  30 31 30 31  11%-011211"-0101 

000001D0  31 32 C7 2D  30 31 30 32  31 32 E4 2D  30 31 30 33  12Ç-010212ä-0103 

000001E0  31 32 03 2E  30 31 30 34  31 32 21 2E  30 31 30 35  12

.010412!.0105 

000001F0  31 32 40 2E  30 31 30 36  31 32 5E 2E  30 31 30 37  12@.010612^.0107 

00000200  31 32 7D 2E  30 31 30 38  31 32 9C 2E  30 31 30 39  12}.010812o.0109 

00000210  31 32 BA 2E  30 31 31 30  31 32 D9 2E  30 31 31 31  12º.011012U.0111 

00000220  31 32 F7 2E  30 31 31 32  31 32 16 2F  30 31 30 31  12÷.011212/0101 

00000230  31 33 35 2F  30 31 30 32  31 33 51 2F  30 31 30 33  135/010213Q/0103 

00000240  31 33 70 2F  30 31 30 34  31 33 8E 2F  30 31 30 35  13p/010413Z/0105 

00000250  31 33 AD 2F  30 31 30 36  31 33 CB 2F  30 31 30 37  13-/010613E/0107 

00000260  31 33 EA 2F  30 31 30 38  31 33 09 30  30 31 30 39  13ê/010813       00109 

00000270  31 33 30 31  31 30 31 33  30 37 34 35  31 30        13011013074510

 

0x27E or Dec 638

 

Its description in COBOL is:

 

V005   01  REG-FEC-PC.

V005       02  FILLER   VALUE '1910000000000000000000'

                                            PIC  X(22).

V005       02  FILLER        VALUE  +614    PIC S9(4) COMP.

V005       02  FEC-SC1                      PIC S9    COMP.

V005       02  FEC-SC2                      PIC X.

V005       02  FEC-CTE occurs 45 times,

04  FEC-BINC                 PIC X(2).

04  FEC-DSPC                 PIC X(6).

V005       02  FEC-CTE occurs 30 times,

04  FEC-BINH                 PIC X(2).

04  FEC-DSPH                 PIC X(6).

V005       02  FEC-ACT                      PIC X(6).

V005       02  HOR-ACT                      PIC X(6).

 

In C++ I definend it as:

 

 

// Fecha binaria relativa a 1920 - std SICB

struct Sfecbin {

  union Ufecbin {

    char fecB [2];

    short unsigned fecbin;

 };

};

 

// Esta es la llave de los datos financieros.

 

struct sFinKey {

  union Fkey {

    char Llave [22];

    struct Ekey {

      char Fbco [3];

      char Ffil [3];

      union Ccont {

        char Fccont [10];

        struct dccont {

          char Fcpri [3];

          char Fcsub [3];

          char Fcssb [3];

          char Fcdvr;

        };

      };

      char Fmon [3];

     char Fdpt [3];

    };

  };

};

 

// Despiece de la fecha Display viene Fdd en datos

//          historicos como 01 se pasa al ultimo dia

//          mes o dias del mes.

 

struct SFecDsp {

  union Fdsp {

    char Fecdsp [6];

    struct sfdsp {

      char Fdd [2];

      char Fmm [2];

      char Faa [2];

    };

  };

};

 

struct SHorDsp {

  union Hdsp {

    char Hordsp [6];

    struct sHdsp {

      char Hhh [2];

      char Hmm [2];

      char Hss [2];

    };

  };

};

 

struct TFec {

  Sfecbin FecBin;

  SFecDsp FecDsp;

};

 

 

struct RegFec {

  sFinKey DmyK;

  char RL [2];

  char SldCnt;

  TFec FecCte [45];

  TFec FecHst [30];

  SFecDsp FecAct;

  SHorDsp HorAct;

  short HabAnt;

};

 

union LectRFec {

  RegFec TabFecs;

  char RFbuf [638];

} BufLect;

 

I read it in to memory with:

 

int bytes = 638;

int bytes2 = 0;

       int bytesLeidos;

 

   ifstream entrada("c:\\RaamSoft\\CplusSICB\\Xcarlos\\Unpack\\SICBCONS201310.SLD", ios::in | ios::binary);

 

         entrada.read( (char *) &BufLect, sizeof(BufLect) );

 

Now how do I access each field?

To print for example.

Viewing all articles
Browse latest Browse all 15302

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>