I'm working on an encryption algorithm and I need to generate some information in Java (a binary file) to read in C++.
I'm not sure if the problem is how I create the binary file or how I read it, though I can perfectly read the information in Java.
So I made a simple test. In Java I save the number 9 to a binary file, and then I try to read it in C++, but it does not read a number.
Can someone please tell me how I can do this?
The Java code:
int x = 9;
try{
ObjectOutputStream salida=new ObjectOutputStream(new
FileOutputStream("test.bin"));
salida.writeInt(x);
salida.close();
System.out.println("saved");
} catch(Exception e){
System.out.println(e);
}
The C++ code:
streampos size;
char * memblock;
ifstream file ("test.bin", ios::in|ios::binary|ios::ate);
if (file.is_open())
{
size = file.tellg();
cout<< size << endl;
memblock = new char [size];
file.seekg (0, ios::beg);
file.read (memblock, size);
file.close();
int i;
for (i = 0; i < sizeof(memblock); i++)
{
cout << memblock[i] <<endl;
}
delete[] memblock;
}
else cout << "Unable to open file";
This is the output:
�
�
w