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
 
     
     
     
    