如何逃避一个角色

bis*_*nux 1 c string-formatting

我有这种情况,我需要逃避一个角色.我想形成一个缓冲区

char buffer[1024]; 
char* x="hello";
char* y="world";
sprintf(buffer,"=%s\n-%s\n ",x,y);
Run Code Online (Sandbox Code Playgroud)

我的目标是获得一个缓冲区,如

=hello\n-world\n
Run Code Online (Sandbox Code Playgroud)

按照这个确切的顺序.当缓冲区传递给函数时,诸如(=,\n, - )之间的符号都会执行特定操作.

但是,如果打印出的代码如上面的代码所示,我得到了

=hello
-world
Run Code Online (Sandbox Code Playgroud)

代替

=hello\n-world\n
Run Code Online (Sandbox Code Playgroud)

但这不是必需的.我怎样才能达到预期的效果?

Dim*_*lyn 7

你需要逃避反斜杠,像这样: \\

sprintf(buffer,"=%s\\n-%s\\n ",x,y);
Run Code Online (Sandbox Code Playgroud)