byte basic_string data;
char[] buf=new char[120400];
int write;
忘了。

解决方案 »

  1.   

    1、data干什么用?从变量名上看似乎是个字符串
    2、C++里char是两个字节,java里是一个,如果对长度要求定义严格......
    所以:String data;  
    char[] buf=new char[120400];//或240800
    int  write; 无需data.assign(buf,buf+write);  
      

  2.   

    说反了
    c/c++中char是1个字节, java中char是2个;  data是相当于类实列
      

  3.   

    String data;  
    char[] buf=new char[120400];//或240800
    int  write; 无需data.assign(buf,buf+write);   因为char[] buf=new char[120400];已经进行初始化并分配内存
      

  4.   

    楼主的意思好象是需要转型!
    是不是要将char转型为string啊!
    如果是这样的话你可以这样写:
    char [] buf=new char[120400];
    String s=(String)(char []);
      

  5.   

    这个是转码程序段
    同意
    char [] buf=new char[120400];
    String s=new String(buf);
      

  6.   

    不是吧
    楼主是想传输byte输流?如果是这样的话,那么类型自然是 byte
      

  7.   

    的确是字节流
    data.assign这句是什么意思
      

  8.   

    我以前学C++的,现在有机会学习java,向楼上各位解释一下assign,即将buf到buf+write的数据赋值给data,所以我认为移植代码如下:
    String  data;  //这个其实有点问题,从C++角度说,定义字符串用string就好了,而这里用的是basic_string <byte>,也不知道出入何种目的
    char [] buf = new char [120400];  
    int  write;  
    ....  
    data = new String (buf,0, write);