Hello,

I have a strange behavior with an array of bytes which is loaded from a file.

Code:
    char* buffer;

    ifstream file ("data.bin", ios::in|ios::binary|ios::ate);
    size = file.tellg();
    file.seekg (0, ios::beg);
    buffer = new char [size];
    file.read (buffer, size);
    file.close();
    
    cout << " Filesize : " << dec << size << endl;
    
    
    for (int i = 1,j = size -1; i < 130 ; i++, j--)
    {
        cout << "---------------------------------------" << endl;
        cout << " I value: " << dec << i << endl;
        cout << " J = " << dec << j << "   J-1 = " << dec << j - 1 << endl;
        cout << "Current Char: " << hex << (int)buffer[j] << endl;
        cout << "Previous Char: " << hex << (int)buffer[j - 1] << endl;
    }
    delete[] buffer;
    system("PAUSE");
    return 0;
It works well up to i=126 after that it messes things up

---------------------------------------
I value: 123
J = 70353 J-1 = 70352
Current Char: 2d
Previous Char: 64
---------------------------------------
I value: 124
J = 70352 J-1 = 70351
Current Char: 64
Previous Char: 75
---------------------------------------
I value: 125
J = 70351 J-1 = 70350
Current Char: 75
Previous Char: 74
---------------------------------------
I value: 126
J = 70350 J-1 = 70349
Current Char: 74
Previous Char: 3b
---------------------------------------
I value: 127
J = 70349 J-1 = 70348
Current Char: 3b
Previous Char: ffffffa2
---------------------------------------
I value: 128
J = 70348 J-1 = 70347
Current Char: ffffffa2
Previous Char: ffffffed
---------------------------------------
I value: 129
J = 70347 J-1 = 70346
Current Char: ffffffed
Previous Char: ffffffee
For i = 127 I want it to return A2 , not "ffffffa2"

Do you see any obvious mistake here?