absinthe吧 关注:25贴子:133
  • 4回复贴,共1

JAVA与C/C++的数据转移问题

只看楼主收藏回复

123


1楼2009-06-02 22:20回复
    运用C++或C语言,数据在文件中的存储形式是与处理器相关的,这使得简单的数据文件的移植成为一个大问题。


    3楼2009-06-02 22:22
    回复
      Java所有的数据都是以大尾形式存储到文件中。
      Java本身产生的数据文件没有移植问题。
      但是它在与C/C++通讯时还应注意。


      4楼2009-06-02 22:26
      回复
        我的一个文件,用VC读整形数,一切正常。 
         但是JAVA就是不对。 
         请大家帮偶看看。 
         付代码: 
         try 
         { 
         File f = new File("C:\\JAVADIFC.DAT"); 
         if(f.exists()) 
         { 
         f = null; 
         DataInputStream L = new DataInputStream(new FileInputStream("C:\\JAVADIFC.DAT")); 
         while(L.available()>0) 
         // while (true) 
         { 
         int p=L.readInt(); 
         g.drawString(String.valueOf(p),20,p+100); 
         } 
         } 
         } 
         catch(IOException e) 
         { 
         }


        5楼2009-06-02 22:26
        回复
          我用VC读出来是0,10,20,30,40... 
           可是JAVA读出来是0,16772160,335544320,503316480.... 
           是我的代码不对么?
          int a,b,c,d; 
           L.readInt(); 
           a = L.read(); 
           b = L.read(); 
           c = L.read(); 
           d = L.read(); 
           int Result = (d << 24) + (c << 16) + (b << 8) + a; 
           这样就对了? 
           为什么?难道和操作系统有关,我用WINDOWS2K 
           还是和INTEL芯片有关?


          6楼2009-06-02 22:26
          回复