【发布时间】:2023-02-10 06:00:34
【问题描述】:
我有很多程序都定义了structs。每次,我都必须创建一个函数来打印成员。例如,
typedef struct {
char name[128];
char address[1024];
int zip;
} myStruct;
void printMyStruct(myStruct myPeople) {
printf("%s\n",myPeople.name);
printf("%s\n",myPeople.address);
printf("%d\n",myPeople.zip);
}
int main()
{
myStruct myPeople={"myName" , "10 myStreet", 11111};
printMyStruct(myPeople);
}
我知道 C 中不支持反射。因此,我为我定义的每个结构编写了这些打印函数。
但是,我想知道是否有任何技巧可以自动生成这些打印功能。我会明白我必须稍微修改这些功能。但是,如果部分工作是自动完成的,那就太好了。
(这个例子很简单,有时结构是嵌套的或者我有结构数组或者一些字段是指针,......)
【问题讨论】:
-
询问是否存在程序或其他外部资源/在哪里可以找到它在这里显然是题外话。
-
@伦丁。那么我在哪里可以问这个问题呢?
-
如果您对其进行编辑,使其仅与如何使用宏生成此内容有关,那么它将在这里成为主题。否则,如果您正在寻找预制程序,请尝试softwarerecs.stackexchange.com。
-
@伦丁。我做到了。现在可以了吗?
-
是的,我想是的。我将投重新公开的一票。
标签: c reflection