如果我的字符串包含:
a="abd\\aa\[1\]\\"
如果我尝试使用fputs
和fprintf
将其写入文件,则会将以下内容写入文件:
"abd\aa[1]\"
我想将"abd\\aa\[1\]\\"
写入文件。我怎么能做到这一点?
答案 0 :(得分:2)
你必须逃离\
,如下:
printf("abd\\a[1]\\");
否则printf
将打印\a
字符BEL
。
答案 1 :(得分:1)
使用double \
,因为\
是转义字符:
a = "abd\\aa[1]\\"
答案 2 :(得分:1)
\
字符是一个特殊字符。试试这样:
a = "abd\\aa[1]\\";
修改强>
如果您希望将"abd\\\\aa\\[1\\]\\\\"
写入文件,则必须将每个反斜杠加倍:
a = "abd\\\\\\\\aa\\\\[1\\\\]\\\\\\\\";
答案 3 :(得分:0)
我想将
"abd\\\\aa\\[1\\]\\\\"
写入文件。
只需加倍反斜杠的数量。
fprintf(fp, "abd\\\\\\\\aa\\\\[1\\\\]\\\\\\\\" );
答案 4 :(得分:0)
当您在字符串中放入'\'
时,将忽略下一个字符。如果您在'\'
之前放置'\'
,则会忽略并打印秒函数。