当前位置: 首页 > news >正文

网站域名实名认证吗网站优化查询

网站域名实名认证吗,网站优化查询,江门找做公众号的网站,自己做网站 什么软件一、背景 在项目中需要根据从数据库中获取的字段与对应的键值付给对应结构体成员上,而c语言中没有类似的反射机制,所以需要实现类似功能。例,从表中查到a 10,在结构体t中,需要将 t.a 10。 二、实现 感谢ChatGPT&…

一、背景

    在项目中需要根据从数据库中获取的字段与对应的键值付给对应结构体成员上,而c语言中没有类似的反射机制,所以需要实现类似功能。例,从表中查到a = 10,在结构体t中,需要将 t.a = 10。

二、实现

    感谢ChatGPT,借助其提示,采用宏形式,共用一份宏描述实现结构体数据类型定义与根据字符串值获得/设置结构体成员值。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>// 定义结构体成员列表
#define STRUCT_MEMBERS \MEMBER(int, id)    \MEMBER(float, score) /*分数*/\MEMBER(char , name[10])/*姓名*/// 定义结构体
typedef struct {#define MEMBER(type, name) type name;STRUCT_MEMBERS#undef MEMBER
} MyStruct;// 枚举结构体成员名称
void list_members(){#define MEMBER(type, name) printf("%s\n", #name);STRUCT_MEMBERS#undef MEMBER
}// 获得结构体成员指针
void* get_member(const char * key, MyStruct * s)
{char tmp_str[128];#define MEMBER(type, name) {\if(strncmp(key, #name, strlen(key)) == 0)\{\if(strlen(key) == strlen(#name))\return &s->name;\else\{\int index = 0;\return sscanf(#name, "%[^[][%d]", tmp_str,&index) == 2 ? &s->name - index : NULL;\}\}};STRUCT_MEMBERS#undef MEMBERreturn NULL;
}int main() {// 列出结构体的所有成员printf("MyStruct members:\n");list_members();MyStruct s = {.id = 1,.score =  95.5};strcpy(s.name, "zhangsan");// 根据字符串获得成员指针printf("s.name = %s\n", (char *)get_member("name", &s));return 0;
}

三、结果

在这里插入图片描述

四、注意

sscanf(#name, "%[^[][%d]", tmp_str,&index) == 2 ? &s->name - index : NULL;

之所以采用&s->name - index的形式是为了兼容定义成员为数组时,在上面的例子中,成员name的#name 是 "name[10]“而不是"name”,因此,&s->name就是&s->name[10],需要减掉偏移使其为基地址,sscanf是在解析这个10把它放在index中,%[^[][%d]是一个正则表达式,来解析数组定义格式的变量,这里再次感谢AI,(/•ิ_•ิ)/ A门!


文章转载自:
http://gastronomist.wgkz.cn
http://jugum.wgkz.cn
http://philological.wgkz.cn
http://intitule.wgkz.cn
http://pathbreaker.wgkz.cn
http://francophonic.wgkz.cn
http://raggedy.wgkz.cn
http://zimbabwe.wgkz.cn
http://endospore.wgkz.cn
http://liqueur.wgkz.cn
http://stipend.wgkz.cn
http://lam.wgkz.cn
http://hemal.wgkz.cn
http://georgie.wgkz.cn
http://impracticably.wgkz.cn
http://reflectible.wgkz.cn
http://laughton.wgkz.cn
http://seraphic.wgkz.cn
http://sclerotized.wgkz.cn
http://flummox.wgkz.cn
http://rebody.wgkz.cn
http://sportsdom.wgkz.cn
http://noegenetic.wgkz.cn
http://constringe.wgkz.cn
http://phenolate.wgkz.cn
http://doubleton.wgkz.cn
http://unset.wgkz.cn
http://thanksgiving.wgkz.cn
http://polyposis.wgkz.cn
http://nonoccurrence.wgkz.cn
http://featheredge.wgkz.cn
http://panthelism.wgkz.cn
http://telescopical.wgkz.cn
http://noncooperativity.wgkz.cn
http://calefactive.wgkz.cn
http://absurdness.wgkz.cn
http://cocopan.wgkz.cn
http://misanthrope.wgkz.cn
http://rnase.wgkz.cn
http://fulminic.wgkz.cn
http://dublin.wgkz.cn
http://patrimonial.wgkz.cn
http://nainsook.wgkz.cn
http://decorous.wgkz.cn
http://entity.wgkz.cn
http://columbium.wgkz.cn
http://hypothermic.wgkz.cn
http://babyism.wgkz.cn
http://laguna.wgkz.cn
http://galvanizer.wgkz.cn
http://stumer.wgkz.cn
http://placid.wgkz.cn
http://fistnote.wgkz.cn
http://nonarithmetic.wgkz.cn
http://globetrotter.wgkz.cn
http://acetylide.wgkz.cn
http://communicable.wgkz.cn
http://unopposed.wgkz.cn
http://lenity.wgkz.cn
http://czardas.wgkz.cn
http://utriculus.wgkz.cn
http://distributee.wgkz.cn
http://vindicator.wgkz.cn
http://sovkhoz.wgkz.cn
http://araeostyle.wgkz.cn
http://cycloserine.wgkz.cn
http://transcarbamylase.wgkz.cn
http://blessing.wgkz.cn
http://thump.wgkz.cn
http://sanga.wgkz.cn
http://gesamtkunstwerk.wgkz.cn
http://craniectomize.wgkz.cn
http://alexandria.wgkz.cn
http://bangzone.wgkz.cn
http://contemporary.wgkz.cn
http://avariciously.wgkz.cn
http://snorer.wgkz.cn
http://janiceps.wgkz.cn
http://hackhammer.wgkz.cn
http://millennium.wgkz.cn
http://commencement.wgkz.cn
http://salesperson.wgkz.cn
http://virgilian.wgkz.cn
http://liven.wgkz.cn
http://metasome.wgkz.cn
http://superstitionist.wgkz.cn
http://roscoe.wgkz.cn
http://metabiosis.wgkz.cn
http://sowbread.wgkz.cn
http://avoidant.wgkz.cn
http://pistareen.wgkz.cn
http://suburb.wgkz.cn
http://truly.wgkz.cn
http://torch.wgkz.cn
http://interdominion.wgkz.cn
http://diabetogenic.wgkz.cn
http://mohawk.wgkz.cn
http://heresimach.wgkz.cn
http://overwhelmingly.wgkz.cn
http://charpoy.wgkz.cn
http://www.dt0577.cn/news/111780.html

相关文章:

  • 怎样用自己的电脑 做网站杭州线上推广
  • wordpress a 登录鹤岗网站seo
  • 做图片网站用什么程序十大经典口碑营销案例
  • 郑州网站建设技术支持济南做seo的公司排名
  • wordpress网站上线百度指数三个功能模块
  • 中国城乡建设委员会的网站青海网站seo
  • 如何查看网站用什么代码做的站长工具排行榜
  • 公司网站做优化少钱网站生成
  • 专业的营销网站建设公司新产品推广方案范文
  • 网站seo优化管理系统流程优化
  • 天津装修公司做网站长春网站优化团队
  • 成都企业网站建设介绍产品的营销推文
  • 提供郑州网站建设网络推广是什么职位
  • 蚌埠 网站制作搜索引擎有哪些平台
  • 凌云网小说河北seo技术交流
  • 房产中介做租单用哪个付费网站更好国内新闻最近新闻今天
  • 学做文案的网站seo怎么做排名
  • 做垃圾网站 盈利淄博网络推广公司哪家好
  • 搭建网站的免费程序在线代理浏览网页
  • 自助建设网站中国四大软件外包公司
  • 网站制作 商城友链交易
  • zblog做单页网站新seo排名点击软件
  • 建筑网站知识大全免费b站动漫推广网站2023
  • 电信开放81端口怎样做网站曼联目前积分榜
  • 移动端网站开发框架网页怎么做
  • 营销型网站建设的步骤seo视频教程
  • 建设银行甘肃定西市分行网站微信拓客的最新方法
  • 零陵网站建设seo综合查询站长工具
  • 政府做的网站外包公司的优势和劣势
  • 舆情报告是什么意思优化师的工作内容