我的任务之一,我有一个任务是以字符串格式打印下面的整个结构.
Struct test
{
int a,
char char1,char2;
}
Run Code Online (Sandbox Code Playgroud)
输出应该是:结构是a = 10,char1 = b,char2 = c; 我知道使用它非常简单
printf("Structure is a=%d,char1=%c, char2= %c", s.a,s.char1,s.char2);
Run Code Online (Sandbox Code Playgroud)
但实时,我有很多大结构,我不能为每个结构元素编写带访问说明符的printf语句.有没有其他方法来打印整个结构只需指定结构变量或其他?
在纯C中没有办法做到这一点.有些语言通过一个名为reflection的概念来支持这个,但它在C中不可用.
Code-that-writes-code是您最好的选择.编写一个脚本来查找所有结构并构建函数来printf它们.