C程序,用于在字符串中存储特殊字符

C程序,用于在字符串中存储特殊字符,c,string,C,String,基本上,我无法理解这一点,我希望我的C程序存储批处理程序的全部纯文本,然后插入一个文件,然后运行 我完成了我的程序,但保留内容是我的问题。如何在字符串中插入代码并使其忽略所有特殊字符,如%s\etc?您必须用\转义特殊字符,您可以用另一个反斜杠转义反斜杠本身(即\\)。正如Ian前面提到的,您可以用\转义普通C字符串中不允许的字符;例如,换行符变为\n,双引号变为\“,反斜杠变为\ 如果你不能或不愿意因为任何原因这样做,那么如果你的解决方案必须在C中,那么你可能会走运。但是,如果你愿意切换到C+

基本上,我无法理解这一点,我希望我的C程序存储批处理程序的全部纯文本,然后插入一个文件,然后运行


我完成了我的程序,但保留内容是我的问题。如何在字符串中插入代码并使其忽略所有特殊字符,如%s\etc?

您必须用\转义特殊字符,您可以用另一个反斜杠转义反斜杠本身(即
\\
)。

正如Ian前面提到的,您可以用
\
转义普通C字符串中不允许的字符;例如,换行符变为
\n
,双引号变为
\“
,反斜杠变为
\

如果你不能或不愿意因为任何原因这样做,那么如果你的解决方案必须在C中,那么你可能会走运。但是,如果你愿意切换到C++,那么你可以使用:

这相当于

const char* s2 = "\nHello\nWorld\n";

原始字符串必须以
R“
开头,后跟任意分隔符(由任何源字符组成,但不包括括号、反斜杠和空格;可以为空;长度最多为16个字符),然后是
,必须以
结尾)
后跟分隔符和
。必须选择分隔符,以便终止子字符串(
,分隔符,
)不出现在字符串中。

嗯?为什么不提供一个简单的示例,说明您正在尝试执行的操作,以及您编写的代码,并解释为什么该代码不能满足您的需要。嗨,您能让我们看看您在说什么吗?在字符串中声明任何文字时,您需要将\字符加倍,例如说
echo C:\\myfile.txt
,还有
%
字符。您可以直接使用字符串。循环遍历字符数组的每个位置,如果您有一个特殊的字符,则使用开关大小写将其替换为其他字符。例如,您可以将其替换为空白。关于“and”和&etc,有关于如何取消每个字符的文档吗?@MuchMemezMuchWow您不必手动执行此操作-您可以编写另一个程序来执行此操作。
const char* s2 = "\nHello\nWorld\n";