为什么在宏中用#忽略换行符,空格和制表符并用一个空格替换?
有没有办法将这些空格分成#?
生成的字符串示例:
#include <iostream>
using namespace std;
#define TOSTR(s) #s
int main() {
cout <<
TOSTR(a newline at the end please
three spaces
tab first
) << endl;
}
输出:
a newline at the end please three spaces tab first
(没有新行,没有三个空格,没有标签)
答案 0 :(得分:2)
您必须撰写换行符\n
或标签\t
字符