如题,'和\'都占一个字符,而且ascii都是39如何区分这两个字符呢?
解决方案 »
- 求解: 成员变量的值会自动改变,为什么会这样?
- MFC如何编写一个对数据库的备份和恢复功能
- 我用ado去连接数据库,_pRecordsetPtr m_recordset变量为什么?编译说没定义
- 实在没办法,在网上搜了半天没找到,关于CDHtmlEdit 在C++中实现右键菜单的代码,所以...
- 哪个函数可以把sockaddr_in中的IP地址部分转为点分IP?
- 谁能教会我怎样对注册表编程,我想编一个类似于超级兔子魔法的软件,狂送分了!
- 自定义控件坐标怎么获取
- 关于安装的几个难题 关于安装的几个难题 关于安装的几个难题
- 在Dll中申请了内存,现在想在Exe模块中释放这部分内存.但不成功.
- VC程序中变量的数据传递 急用!
- VC6.0类视图打开出现好多类 不是对话框的类,急求指导。。。
- 八款开源 Android 游戏引擎 (巨好的资源)
如果不转义,以上语句报错。
这个只是给编译器看的。
\',一般于用将 ' 赋值给某个变量。如:char c1='a'; //表示将a这个字符赋值给c1
char c2='\''; //表示将' 这个字符赋值给c2
har *str='this is a 'test'.';
单引号就单引号。这个只是给语言的编译/解释程序看的。CPU处理的,还是'而非\';
可能你会写这样的程序
char buf[10] = "abcd'efg";
char ch = 'b';
for(int i=0; i<strlen(buf); ++i)
{
if( ch == buf[i])
{
printf("找到字符b了");
}
}但是现在我想查找 ' 这个字符. 你可能会说, 简单, 把代码中那个b改成'即可.
char buf[10] = "abcd'efg";
char ch = ''';//只修改这里
for(int i=0; i<strlen(buf); ++i)
{
if( ch == buf[i])
{
printf("找到字符b了");
}
}这时你编译会发现编译不能通过, 说: error C2137: 空字符常量
因为'在这里已经有特殊作用了, 但我们又想使用这个符号怎么办呢.
这时转义字符就闪亮登场了 \' 就是说我想要'号, 但这个点号不要给我解释成特殊用途了.char ch='''; 修改成 char ch='\''; 这样说不知道能不能让楼主理解这个转义字符. 其它字符加\来转义也是同样的道理.
比如一个字符串中的双引号": char buf[] = "abcde\"1\"cdef";
printf输出后来实际上是: abcde"1"cdef