|
typedef struct DEV_Info 这个转成类呢,发送的时候怎么获取实质内容和大小呢? |
|
public class pDEV_Info
{
public char sName[INFO_LEN];
public char sDEVType[INFO_LEN];
public char sElcType[INFO_LEN];
public char sElcVR[INFO_LEN];
public float fBeng_jing;
public float fBeng_shen;
public float fhan_shui;
public float fdong_ye_mian;
public float fchan_ye_add;
}
|
|
|
不用new 吗? 如果发送的时候怎么放到数组里呢? 内存复制可以吗? |
|
| 5分 |
可以直接写一个Java 类, 然后用 C 将结构体传给 Java
参考 : http://blog.csdn.net/vblittleboy/article/details/11763409 据我所知, 好像没有直接转化的框架 |
|
各位,我是C++转JAVA的。 结构体是用于保存到sqlite数据库和按协议通讯用的,协议头内容什么的C++里都是定义的结构体,弄到JAVA里玩死我了。一个结构定义个类吧,char name[10]是不行的,必须char name[] = new char[10]. 如果是int 和float型用不用new呀,还是直接定义就行。还有一个java文件只能写一个类吗? 类名和文件名好像有关联呀。 那么多结构体怎么办。 如果我写的的是类,怎么复制到Byte数组里呢。 int float在java里都是4个字节吗? 。。。 寸步难行呀。版主回复的那个跟本不行的。
|
|
| 35分 |
char 直接用String,不用new
/**
* Created by puruidong on 2015/4/27.
*/
public class Entity {
private String sName;
private String sDEVType;
private String sElcType;
private String sElcVR;
private float fBeng_jing;
private float fBeng_shen;
private float fhan_shui;
private float fdong_ye_mian;
private float fchan_ye_add;
public String getsName() {
return sName;
}
public void setsName(String sName) {
this.sName = sName;
}
public String getsDEVType() {
return sDEVType;
}
public void setsDEVType(String sDEVType) {
this.sDEVType = sDEVType;
}
public String getsElcType() {
return sElcType;
}
public void setsElcType(String sElcType) {
this.sElcType = sElcType;
}
public String getsElcVR() {
return sElcVR;
}
public void setsElcVR(String sElcVR) {
this.sElcVR = sElcVR;
}
public float getfBeng_jing() {
return fBeng_jing;
}
public void setfBeng_jing(float fBeng_jing) {
this.fBeng_jing = fBeng_jing;
}
public float getfBeng_shen() {
return fBeng_shen;
}
public void setfBeng_shen(float fBeng_shen) {
this.fBeng_shen = fBeng_shen;
}
public float getFhan_shui() {
return fhan_shui;
}
public void setFhan_shui(float fhan_shui) {
this.fhan_shui = fhan_shui;
}
public float getFdong_ye_mian() {
return fdong_ye_mian;
}
public void setFdong_ye_mian(float fdong_ye_mian) {
this.fdong_ye_mian = fdong_ye_mian;
}
public float getFchan_ye_add() {
return fchan_ye_add;
}
public void setFchan_ye_add(float fchan_ye_add) {
this.fchan_ye_add = fchan_ye_add;
}
/* 实际使用不用main方法.
public static void main(String[] args) {
Entity e = new Entity();
e.setsName("这是设置名字de ----");
//e.getsName()获取设置的值.
//e.getsName().length();获取长度
System.out.println(e.getsName()+"--<左边是获取名字");
System.out.println(e.getsName().length());
}
*/
}
求加好友,补习C++,Q877470746 |