在C中以String格式打印结构

bob*_*bby 2 c

我的任务之一,我有一个任务是以字符串格式打印下面的整个结构.

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语句.有没有其他方法来打印整个结构只需指定结构变量或其他?

pau*_*ljz 6

在纯C中没有办法做到这一点.有些语言通过一个名为reflection的概念来支持这个,但它在C中不可用.

Code-that-writes-code是您最好的选择.编写一个脚本来查找所有结构并构建函数来printf它们.