基本上,我无法解决这个问题,我希望我的C程序存储批处理程序的整个明文,然后插入文件然后运行。
我完成了我的程序,但拿着内容是我的问题。如何在字符串中插入代码并使其忽略所有特殊字符,如%s \ etc?
答案 0 :(得分:1)
你必须使用\来转义特殊字符,你可以用另一个反斜杠(即\\
)来反转反斜杠。
答案 1 :(得分:1)
正如Ian之前提到的,你可以使用\
转义普通C字符串中不允许的字符;例如,换行变为\n
,双引号变为\"
,反斜杠变为\\
。
如果您因任何原因无法或不愿意这样做,那么如果您的解决方案必须在C中,那么您可能会运气不好。但是,如果您愿意切换到C ++,那么您可以使用raw strings:
const char* s1 = R"foo(
Hello
World
)foo";
这相当于
const char* s2 = "\nHello\nWorld\n";
原始字符串必须以R"
开头,后跟任意分隔符(由任何源字符组成,但括号,反斜杠和空格;可以为空;最多16个字符),然后(
,并且必须以)
结尾,然后是分隔符"
。必须选择分隔符,以使终止子字符串()
,分隔符,"
)不出现在字符串中。