1
我在FORTRAN寫入二進制文件,下面的代碼:讀取和寫入二進制文件,Fortran和C++
Character(50) S
Real*8 A
A = 25.002
OPEN(1,file='data.bin', access='stream',action='write')
WRITE (1) A
CLOSE(1)
,並試圖讀取與C++下面的代碼:
ifstream::pos_type size;
char * memblock
ifstream file ("data.bin", ios::in|ios::binary|ios::ate);
if (file.is_open())
{
size = file.tellg();
memblock = new char [size];
file.seekg (0, ios::beg);
file.read (memblock, size);
file.close();
delete[] memblock;
}
但它不起作用!第二個代碼無法讀取第一個代碼創建的文件。 任何幫助表示讚賞!
你怎麼知道它無法讀取文件?您所顯示的代碼中甚至沒有檢查。 –
「它不起作用」沒有定義問題。如何不工作是必需的。此外,你沒有任何錯誤檢查你的'新字符'也沒有在你的file.read(所以你不知道它爲什麼失敗) – KevinDTimm
它不工作,因爲它不讀取任何數據,或者它不工作,因爲它不會讀取您期望的數據。幫助我們!更多信息!減少驚歎號! – john