雷って幻想的だよね?

宗教:C#、ラノベ好きの戯言です。

ifstreamが変な動作・・・

ifstream.get
をforで利用したところ・・・
連続13回目で変な値を読むようになり・・・

0000002C0002B81A000338B30009432F000EBD4A001409160018FF7D001EBA6D002368F9002532A0
002BC3240030EA1B00366940003B277A003F00CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD
CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD
CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD
CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD
・・・つづく

↑こんなデータになる・・・


ifstream.seekg
で直前に移動させてからgetで取得したところ
連続851回目で変な値を読むようになった・・・

0000002C0002B81A000338B30009432F000EBD4A001409160018FF7D001EBA6D002368F9002532A0
002BC3240030EA1B00366940003B277A003F007A004446830048C7A7004B4384004C47EC00518C38
0055F394005BA28E005D1FA7006114710064D31F00678C0B006A20D4006DCF770072867A00745EB8
0079B03E007D95C2007F5C5600833ACE00858B8B00893501008D68640091C8D50096DE12009BA9AF
009E347500A206C300A4B25C00A8D8A500AC430400B0521100B84BA900BF234A00C3FC8D00C77D0B
00C8A63B00D02B5300D6816000DBCB1100E1287000E3A40C00EA7BD700F1391400F8E40E00FF8A45
01067D57010EDF5D0116EEB2011DF87501252C3C0129B226012EF22E013139A50134573E01387661
013E2AE5014320980145ADE20149A74F014D4C2401513E850154A1D901554934015AF6C6015E11BE
・・・(略)・・・
099266840994CA3D0996C93B099D81F009A4879309AA2B8A09AE709109B1AB3709B1C2FC09B55645
09B7503C09B9BE2609BBA6C109BFB6BF09C2AD9109C4F18F09CC279C09D010B909D3EAED09D79341
09D9634E09DC6E7C09DE38B109E00C3209E01A3009E45BF909E6CD9409EB2ECE09ED311209F33EE4
09F8003B09FBD45009FFC03100FFC03100FFC03100FFC03100FFC03100FFC03100FFC03100FFC031
00FFC03100FFC03100FFC03100FFC03100FFC03100FFC03100FFC03100FFC03100FFC03100FFC031
00FFC03100FFC03100FFC03100FFC03100FFC03100FFC03100FFC03100FFC03100FFC03100FFC031
00FFC03100FFC03100FFC03100FFC03100FFC03100FFC03100FFC03100FFC03100FFC03100FFC031
00FFC03100FFC03100FFC03100FFC03100FFC03100FFC03100FFC03100FFC03100FFC03100FFC031
・・・つづく

つまり、メモリのことは気にせずに、一気に読み込め
って事なのかなぁ・・・
とか思ってたのに、全読み込みだと、上記の"CD"が"00"になる・・・

※条件としてファイルを読み込み16進数で書き出している。
 利用関数: strtol
 戻り値はlong で最大値はLONG_MAX(2147483647)と思われるので、どう考えても大丈夫そう・・・