从c+中的二进制文件读取+; >我尝试从C++文件中读取BIN文件中的浮点数组。但是我用java创建了这个bin文件,我需要C++中的这个浮点数组。

从c+中的二进制文件读取+; >我尝试从C++文件中读取BIN文件中的浮点数组。但是我用java创建了这个bin文件,我需要C++中的这个浮点数组。,java,c++,binary,Java,C++,Binary,从java写入二进制文件 public static void main(String args[]){ String filename = "out.bin"; try{ FileOutputStream fileOs = new FileOutputStream(filename); ObjectOutputStream os = new ObjectOutputStream(fileOs); os.writeFloat((fl

从java写入二进制文件

public static void main(String args[]){
    String filename = "out.bin";
    try{
        FileOutputStream fileOs = new FileOutputStream(filename);
        ObjectOutputStream os = new ObjectOutputStream(fileOs);
        os.writeFloat((float) 1.257);

    }catch(FileNotFoundException e){
        e.printStackTrace();
    }catch(IOException e){
        e.printStackTrace();
    }

    System.out.println("Write Done");

}
然后用C读++

  std::ifstream fileData("out.bin", std::ios::in | std::ios::binary);

  if(!fileData) {
    std::cout << "Cannot open file.\n";       
  }
  float getdata;
  fileData.read((char *) &getdata, sizeof(getdata));
  fileData.close();

  std::cout << "Data: "<< getdata << std::endl; 
  }
std::ifstream文件数据(“out.bin”,std::ios::in | std::ios::binary);
如果(!fileData){

STD::你把文件中的十六进制值放进浮点转换器吗?如果我记得正确的JRE运行在大字节,而你的C++程序在你的PC上运行在小字节。