如何转义包含指令中的字符?

问题描述 投票:0回答:2

假设我有一个名为

a>b.h
a"b.h
的头文件,如何转义包含指令中的
>
"
字符?

// this does not work
#include <a\>b.h>
c++ c include c-preprocessor
2个回答
1
投票
使用

>

 指令时,不允许使用 
#include <filename>
字符作为文件名的一部分(分别地,
"
不允许作为
#include "filename"
中文件名的一部分)。 cpp参考链接

对于这种情况,您可以将其更改为

#include "a>b.h"
,它应该可以工作。

请注意,在

'
指令的文件名部分中使用字符
"
\
//
/*
#include
是实现定义的,可能不受支持。


0
投票

允许的字符在 lex.charset 中定义。您可以使用任何这些字符,只要它们不破坏解析:lex.header.

在您的情况下,您可能需要添加包含路径并尝试以下操作:

#include "a>b.h"
© www.soinside.com 2019 - 2024. All rights reserved.