C编程里的反斜杠问题

来源:百度知道 编辑:UC知道 时间:2024/05/05 15:35:36
C编程里的反斜杠问题
#include<stdio.h>
void main()
{
char d1[]="reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService" ";
char c3[256];

sprintf(c3,"%s",d1);

system(c3);
system("pause");
}
提示反斜杠错误
请问如何修改

字符串中:
\换成\\
"换成\"

\属于转义字符,要改成\\

编程中不会使用这样的字符。常用语言的标识符都只能包含数字、字母和下划线,不能包含斜杠或者反斜杠。估计你想问的是他们放在字符串里的意义。斜杠'/',slash,就表示一个字符,也即斜杠本身。斜杠可以用来作路径的切割符,比如“C:/Windows/system32/command.exe”这样的路径是合法的。而反斜杠'\',backslash,在很多语言中用作转义字符。也就是说,它要和后面的一个或几个字符合起来才能表示一个字符。如果上面的路径写作“C:\Windows\system32\command.exe”就是不是一个合法路径了,因为反斜杠'\'后面是W,而'\W'不是合法的转义字符,所以这个路径应该写作“C:\\Windows\\system32\\command.exe”,'\\'这个东西,第一个反斜杠是用来转义的,第二个用来表示转义之后变成反斜杠字符'\'。关于转义字符的定义,可以参考相关语言的文档。
\在C#中是转义字符,也就是说它自身单独出现的时候表示对紧随其后的一个字符进行转义操作,如果我们要用到反斜杠本身的话就需要用其自己对自己转义,也就是\\喽.

同样也可以写成@"c:\tools\aaa.txt",在含有保留字的字符串之前加上@也是表示转义的意思

同上