假设我有一个定义MC_SERVER1,MC_SERVER2,MC_SERVER3的列表,我将如何循环获取每个内容。我也不知道我会有多少。我可能有3或10.这是用于C编程
说我有 DEFINE MC_SERVER1 =“mc1.sdsds.com” DEFINE MC_SERVER2 =“mc2.sdsds.com”
如何通过它们循环。
答案 0 :(得分:3)
定义不起作用。它们在编译时进行评估,而不是执行时间,因此它们的实例将替换为它们的值。
答案 1 :(得分:0)
有可能通过连接(##
)和字符串化(#
)的技巧获得与宏相似的效果,但是你可能更好使用宏。
有关示例,请参阅Variable names in C。
答案 2 :(得分:0)
如果它们在数组中,您可以执行此操作,但不能只使用您拥有的定义列表。
如:
const char *servers[] = {
"server.one",
"server.two",
};
如果您对此方法感兴趣,请参阅how to get the length of an array at compile time