Hello,
I have a strange behavior with an array of bytes which is loaded from a file.
It works well up to i=126 after that it messes things upCode: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;
For i = 127 I want it to return A2 , not "ffffffa2"---------------------------------------
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
Do you see any obvious mistake here?



LinkBack URL
About LinkBacks


