相关疑难解决方法(0)

如何在 C++ 中包含使用 C++ 关键字作为标识符的 C 标头?

我一直在使用 C++ 并使用 clang++ 进行编译。我想包含我正在编写的 X11 程序的<xcb/xkb.h>标头。

不幸的是,这个标头用于explicit某些字段名称(例如第 727 行),而这是 C++ 中的关键字。

有办法解决这个问题吗?

xcb/xkb.h

// ...

#ifdef __cplusplus
extern "C" {
#endif

// ...

typedef struct xcb_xkb_set_explicit_t {
    xcb_keycode_t keycode;
    uint8_t       explicit;
} xcb_xkb_set_explicit_t;

// ...

#ifdef __cplusplus
}
#endif

// ...

Run Code Online (Sandbox Code Playgroud)

c c++ clang

75
推荐指数
3
解决办法
6492
查看次数

vim正则表达式和普通正则表达式有什么区别?

我注意到vim的替代正则表达式与其他正则表达式略有不同.他们之间有什么区别?

regex linux vim

26
推荐指数
4
解决办法
6073
查看次数

Sed regexp 寻找空格或行尾

我正在尝试检测包含三个部分的模式:

  1. 空间
  2. “m”或“t”
  3. 空格或行尾

我想保留#2 和#3。例如,我想将“我确定他没有”更改为“我确定他没有”

我在表达 #3 时遇到困难,因为[ $]似乎只匹配空格,而不匹配行尾。这是我尝试过的:

$ echo "i m sure he doesn t" | sed 's/ \([mt]\)\([ $]\)/\1\2/g'
im sure he doesn t
Run Code Online (Sandbox Code Playgroud)

在上面的表达式中我应该如何表达“空格或行尾”?谢谢!

regex sed

5
推荐指数
2
解决办法
6626
查看次数

标签 统计

regex ×2

c ×1

c++ ×1

clang ×1

linux ×1

sed ×1

vim ×1