0
我正在使用CPP擴展基於多個標頭的測試文件。預處理文件被其他腳本使用。Multiline C宏
當我使用EXPAND_SPEC定義。我希望CPP在文件中放入以下行。
A B
Çd
電子網
所以,我使用以下定義
的#define EXPAND_SPEC試圖\
A B \
℃d \
電子網
但是,CPP替換此定義下列方式
A B C B電子網
如何使用定義,以獲得新行字符。
我正在使用CPP擴展基於多個標頭的測試文件。預處理文件被其他腳本使用。Multiline C宏
當我使用EXPAND_SPEC定義。我希望CPP在文件中放入以下行。
A B
Çd
電子網
所以,我使用以下定義
的#define EXPAND_SPEC試圖\
A B \
℃d \
電子網
但是,CPP替換此定義下列方式
A B C B電子網
如何使用定義,以獲得新行字符。
您的要求是不可能的。
您不能用C/C++預處理器創建新行。
唯一的解決方案是使用不同的宏處理器,或讓宏嵌入一個特殊的字符(或字符串),可以使用SED或AWK等文本處理工具替換爲新行。兩者都是cygwin的一部分。
'「A B \ nC D \ nE F」'? – mch
duplicate http://stackoverflow.com/q/2271078/612920 – Mansuro
我用「A B \ nC D \ nE F」替換了定義。不插入實際的新行。 – user2268152