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