首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

结构体赋值有关问题, ,

2012-02-09 
结构体赋值问题,在线等 ,急!structST_DetailsUI7{chara[]charb[]charc[]chard[]}voidmain(){intST_De

结构体赋值问题,在线等 ,急!
struct     ST_DetailsUI7   {
chara[];
charb[];
charc[];
chard[];
};
void   main(){

int   ST_DetailsUI7_id[4]={4,5,2,6};
char   wp[]= "123456789abcdefgh ";

memcpy(&DetailUI7.a,&wp[j],ST_DetailsUI7_id[0]);
      j+=ST_DetailsUI7_id[0];

memcpy(DetailUI7.b,&wp[j],ST_DetailsUI7_id[1]);
      j+=ST_DetailsUI7_id[1];
cout < <DetailUI7.a;
}

我是想通过ST_DetailsUI7_id的值来截取wp中的值一个个放入道a,b,c,d中,
要得结果是DetailUI7.a=1234,DetailUI7.b=56789;

但是现在DetailUI7.a最后会出现123456789,不知道为什么会这样串值。在线等!!!!!!!!




[解决办法]
#include <iostream>
using namespace std;

struct ST_DetailsUI7 {
chara[6];
charb[5];
charc[10];
chard[10];
}DetailUI7;
void main(){

int j=0;
int ST_DetailsUI7_id[4]={4,5,2,6};
char wp[]= "123456789abcdefgh ";

memcpy(&DetailUI7.a,&wp[j],ST_DetailsUI7_id[0]);
j+=ST_DetailsUI7_id[0];

memcpy(DetailUI7.b,&wp[j],ST_DetailsUI7_id[1]);
j+=ST_DetailsUI7_id[1];
cout < <DetailUI7.a;
}

//这个得到的就是1234。
你试试看
[解决办法]
#include <iostream.h>
struct ST_DetailsUI7 {
chara[6];
charb[5];
charc[4];
chard[10];
}DetailUI7;
void main(){

int j=0;
int ST_DetailsUI7_id[4]={4,5,4,6};
char wp[]= "123456789abcdefgh ";

memcpy(&DetailUI7.a,&wp[j],ST_DetailsUI7_id[0]);
j+=ST_DetailsUI7_id[0];

memcpy(DetailUI7.b,&wp[j],ST_DetailsUI7_id[1]);
j+=ST_DetailsUI7_id[1];
cout < <DetailUI7.a;
}
________________________________________________________
試下 我看可以的

热点排行