C/C++中如何遍历结构体的元素?
答案:4 悬赏:10 手机版
解决时间 2021-03-14 13:48
- 提问者网友:龅牙恐龙妹
- 2021-03-14 06:27
我现在有一个需求:已知某人给我提供了 一个动态库,和对应的头文件。头文件里面描述了结构体的各种元素,大概有50多个,元素全是char数组,大小不一。我现在需要遍历这些元素,把它们join成一个字符串,可有什么便捷的好方法,我该不会一个一个的用操作符 ->取出来吧?
最佳答案
- 五星知识达人网友:行雁书
- 2021-03-14 08:05
2# 有50多个成员,每一个成员都是char var[N], 但每一个成员的N是不一样的,没有规律。去掉内存块的零值是啥意思,求解释。
全部回答
- 1楼网友:旧脸谱
- 2021-03-14 10:26
3# 偷懒的局限性在代码的注释中#include #include typedef struct{ char d0[12]; char d1[6]; char d2[5];}tD,*pD;void removezero(char *dst,char *src,int len){ char *p=src; int i; for(i=0;id0,"good"); strcpy(src->d1,"luck"); strcpy(src->d2,"man"); removezero((char *)dst,(char *)src,sizeof(tD)); printf("%s\n",dst); system("pause");}
- 2楼网友:平生事
- 2021-03-14 09:38
修改下removezero逗号分隔for(...){ p=src+i; if(*p) { strcat(dst,p); dst[strlen(dst)]=','; }}dst[strlen(dst)-1]=0;
- 3楼网友:躲不过心动
- 2021-03-14 08:50
通常是用 iterator 來遍历元素.
查查看你的结构体是否提供取得 iterator 的方法.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯