编译器错误 C2001
常量中有换行符
除非执行以下操作,否则无法在第二行上继续字符串常量:
用反斜杠结束第一行。
用双引号关闭第一行的字符串,并用另一个双引号打开下一行的字符串。
用 \n 结束第一行是不够的。
示例
以下示例生成 C2001:
// C2001.cpp
// C2001 expected
#include <stdio.h>
int main()
{
printf_s("Hello,
world");
printf_s("Hello,\n
world");
}
换行符后,字符串常量中包含下一行开头的空格。 上面所示的示例均未将换行符嵌入字符串常量中。 可以嵌入换行符,如下所示:
// C2001b.cpp
#include <stdio.h>
int main()
{
printf_s("Hello,\n\
world");
printf_s("Hello,\
\nworld");
printf_s("Hello,\n"
"world");
printf_s("Hello,"
"\nworld");
printf_s("Hello,"
" world");
printf_s("Hello,\
world");
}