我有一個像這樣的宏。在arm-linux-androideabi-gcc上使用c/C++宏的字符串化'#'
#define TO_STR(x) #x
我可以用這個宏,使串字符沒有之間"
輸入字符串。 像:
const char* test = TO_STR(hello,macro);
std::cout << test << std::endl;
我能搞到: hello,macro
正確。
我的問題是:如何處理輸入字符串中的char #
。 像:
const char* shaderprogram = TO_STR(#version 300 es \n);
這將導致一個錯誤,任何建議?
* 「這將導致一個錯誤」 * - 什麼你看到錯誤嗎?按照我的預期工作[這裏](http://coliru.stacked-crooked.com/a/476b8c47689d378d).... –
如果'TO_STR'確實是'#define''d這樣,然後'TO_STR(你好,宏)'應該是不合格的.... – cpplearner
@TonyD感謝您的回覆,我得到了'錯誤:無效的預處理指令#版本'。 – zh18