how to use strcpy?
struct info
{
char *name;
long x;
char *ov;
char *type;
char *size;
char *object;
};
void main()
{
int infonum=0;
long t=0xfffffffe;
int infonum=0;
...........................................
strcpy(array[infonum].name,tempinfo[0]);
array[infonum].x=(strtol(tempinfo[1],&p,16)&t);
strcpy(array[infonum].ov,tempinfo[2]);
strcpy(array[infonum].type,tempinfo[3]);
strcpy(array[infonum].size,tempinfo[4]);
strcpy(array[infonum].object,tempinfo[5]);
infonum++;
printf("I'm here");
}
when run the programme up,
it appears:
....
I'm here
Program received signal SIGSEGV, Segmentation fault.
0x001a1214 in strcpy () from /lib/tls/i686/cmov/libc.so.6
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
回复 1# qingyumi
array结构体的指针指向的内存都在么?
关键的代码没给全啊,你是怎么申请array数组的,你又没有为结构体的指针成员分配内存啊
回复 1# qingyumi
估计是结构体成员没有分配内存造成的。
回复 1# qingyumi
array结构体的指针指向的内存都在么?
在呢,给结构体分配了
成员也分配了,有人建议直接将结构体中的指针改为数组的
http://bbs.chinaunix.net/thread-2292340-1-1.html
具体代码在这儿~