Abh*_*jit 4 c c++ windows unicode visual-c++
在尝试在Visual Studio 2010中的rosettacode中编译C中的Maze Generator/Solver时,我在编译期间遇到问题.
以下行
# define SPC "?"
wchar_t glyph[] = L""SPC"???????????????"SPC"?????? ??? ?";
Run Code Online (Sandbox Code Playgroud)
抛出一个错误
1>d:\projects\maze_cpp\maze_cpp\main.cpp(14): error C2308: concatenating mismatched strings
1> Concatenating wide "" with narrow "?????? ??? ?"
Run Code Online (Sandbox Code Playgroud)
考虑到我对Unicode的有限知识,以及对MSDN中错误的不友好描述,我对这个问题以及如何解决它感到困惑
你需要"
在宽字符串文字中转义s:
wchar_t glyph[] = L"\"SPC\"¦¦¦-++¦-+++---+\"SPC\"?????? ??? ?";
Run Code Online (Sandbox Code Playgroud)
编辑:
我错过了SPC
宏(已经由Luchian和jrok发布):
#define SPC L" "
wchar_t glyph[] = L"" SPC L"¦¦¦-++¦-+++---+" SPC L"?????? ??? ?";
Run Code Online (Sandbox Code Playgroud)