读书人

关于结构体数组的有关问题。

发布时间: 2012-03-01 10:25:46 作者: rapoo

求助,关于结构体数组的问题。急,在线等
我定义了一个结构体数组,里面有13个变量,在传递数值的过程中,有两个变量的值不知道去什么地方了,且他们定义的空间还发生了改变。下面是我的问题的模仿。
我定义的结构体如:
typedef struct //len=122
{
char certno[16]; //帐号
char seqno[7]; //序号
char plannext[11]; //计划月份
char username[16]; //用户名称
char usertype[7]; //用户类型
char addressname[31]; //地址
char devcode[11]; //表号
char prezs[9]; //上次指数
char price[7]; //单价
char jzshu[7]; //校正系数
}oldcopyfile;


我有个赋值函数,我将内容准确的传递给结构体,
certno[16]= "0001 ";
seqno[7]= "01 ";
plannext[11]= "200902 ";
username[16]= "se01 ";
usertype[7]= "a1 ";
addressname[31]= "dongdaqiao ";
devcode[11]= "type ";
prezs[9]= "13.5 ";
price[7]= "3.4 ";
jzshu[7]= "0.9 ";

然后我保存数据,调用我所写的保存函数,
结果发现,结构体中有两个变量的值不见了,我程序里也没有冲突的地方,不知道什么原因,请高手指点,我在线等。




[解决办法]
certno[16]=; ??
应该这样赋值
strncpy(certno, "0001 ",15);
[解决办法]
是不是你的保存函数有问题?
在输入的数据的函数最后面直接使用你的保存函数的内容,断点跟踪。
[解决办法]
你的赋值方法是用strcpy之类的么?
要么就是前面的变量越界了,造成后面的数据丢失
[解决办法]
你用的是 c 吧 c++ a[11] = "aaa " 早错出错了
[解决办法]
保存到文件?二进制方式?
[解决办法]
用strncpy,我上面已经写了第一个回复就是
[解决办法]
那字符串结束的标志呢?不要了?
[解决办法]
5年以上c++经验,5年一下勿试,工资一万左右,地点:北京,
有意者发:zp27@teamsun.com.cn


合适者3个工作内安排面试
17673544留言也可
[解决办法]
那么也就是说 char certno[16]= "1234567890 ";这样的字符串么?
[解决办法]
strncpy(certno, "0001 ",15);

读书人网 >C++

热点推荐