- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 c 标记粘贴 (##) 来访问结构字段,如下所示:
typedef struct
{
int a;
int b;
} TMP_T;
#define BUILD_FIELD(field) my_struct.##field
int main()
{
TMP_T my_struct;
BUILD_FIELD(a) = 5;
return 0;
}
但是在编译过程中出现如下错误:错误:粘贴“。”并且“a”没有提供有效的预处理标记
我想补充一点:
typedef struct {
int a;
int b;
}TMP_T;
#define BUILD_FIELD(my_struct,field) my_struct.##field
void func(char* name)
{
TMP_T tmp_str;
if((name == "a") || (name == "b"))
{
BUILD_FIELD(tmp_str, name) = 7;
printf("%d \n", BUILD_FIELD(a) );
}
}
int main()
{
func("a");
return 1;
}
我应该如何使用宏来访问特定的结构和字段。是否可以?或者因为它是预编译的,所以无法为各种字段定义 (a,b)
谢谢动机
最佳答案
您根本不需要粘贴 token :
#define BUILD_FIELD(field) my_struct.field
根据gcc manual标记粘贴应该在连接后产生一个标识符或一个数字。错误是由于 .a
两者都不是。
关于c - 使用 c Token-Pasting 访问结构中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20056132/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 11 个月前关闭。 Improve this
这个问题在这里已经有了答案: JavaScript get clipboard data on paste event (Cross browser) (23 个回答) 关闭 8 年前。 我有一个
我有一个 NSTextView,用户可以将纯文本粘贴到其中。 当用户在粘贴板中有“foo”时,我想粘贴“bar”。换句话说,用户转到网络浏览器,选择“foo”,cmd+c,切换到我的 NSTextVi
我对 do.call 如何工作感到困惑。 dat <- data.frame(v1 = c("a", "a", "b", "b"), v2 = c("a", "b"
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我刚刚熟悉 VBA 和我的代码 For k = 3 To ThisWorkbook.Sheets.Count ThisWorkbook.Sheets(k).Activate ActiveSheet.C
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 9年前关闭。 Improve this que
这个问题在这里已经有了答案: Intercept paste event in Javascript (4 个答案) 关闭 9 年前。 我需要更改粘贴事件的标准行为。我想将 Paste 事件的执行延
只执行一次粘贴我可以使用: noremap p p:let @"="" 粘贴后清空寄存器,后面的粘贴就失效了。然而,将发生的是更新撤消的空粘贴。因此按 p 3 次将需要 3 撤消调用以撤消初始粘贴。
在一个项目中,我发现一些 css 文件“闻起来”就像其中有复制粘贴的规则。 我想知道您检测文件中复制粘贴内容的策略是什么。 只是出于好奇,我想听听您显示文件相似性的提示和技巧! 最佳答案 试试 Sim
考虑以下示例: plot(c(2,4,6)~c(1,2,3),xlab="x", ylab=expression(paste('flux (g ',CO[2]~m^{-2}~h^{-1},')')))
对我来说是真正的问题,因为我不知道解决它。 我编写的 jQuery 脚本应该获取“粘贴”操作的输入值,并通过 ajax 将其传递给 codeigniter Controller 。 它实际上工作得很好
这是我正在尝试解决的问题 - 我完全不确定它是否可能。我有一个网络应用程序,我需要启用从应用程序到应用程序的数据复制/粘贴,但我遇到了粘贴问题。如果我使用 CTRL + V 快捷方式过去,我可以使用
这个问题已经有答案了: Printing newlines with print() in R (5 个回答) 已关闭 8 年前。 使用paste()函数时如何插入新行或者任何在 R 中连接字符串的函
我正在使用 sfsmisc 包中的 pretty10exp() 来使科学记数法看起来更好。例如: library(sfsmisc) a pretty10exp(a, digits.fuzz=3) #
我在下面的数据框中有两列,每一列都有按照特定顺序的级别: head(x1) soa congruency 1 200 9 2 102 2 3 68
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我有一个 edittext 字段,当我想在上面粘贴某人时,“粘贴”弹出窗口的文本颜色(系统默认“粘贴”弹出窗口,不是自定义的)不是与应用程序的全局文本颜色相同,仍然是黑色,很难阅读: 这是我的整体主题
我想自定义 matplotlib 图像显示,以便我可以键入 control-c,它将图像复制到剪贴板,然后我可以将它复制到 openoffice 电子表格以组织我所有的原始数据和图像结果。有什么办法吗
我有一个函数可以计算一些东西,然后将其分配给一个矩阵。该矩阵的名称来自粘贴语句(基于其他一些当前值)。然后我想将 dimnames 分配给矩阵,但不知道如何理解粘贴的名称。 事情是这样的: funct
我是一名优秀的程序员,十分优秀!