| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1345 人关注过本帖
标题:关于转义符
只看楼主 加入收藏
lyn_gemini
Rank: 1
等 级:新手上路
帖 子:103
专家分:3
注 册:2004-9-15
收藏
得分:0 
以下是引用youxiaxyz在2006-8-15 10:55:16的发言:
这样并不能解决问题,我给的字符串是任意的,并不是局限上面的那一种。
有没有从根本上解决转义字符的方法,或者更本就没有呢?
等待中。。。。。。。。。。。。。。。。。。。

本质是,假如你在一个字符串里任意一个位置加入\'符号,那这个符号肯定是要消失的,别指望能找到它。
因为当'\'和一个字符连接起来时,例如和x字符,则如果\x是c里存在的转义字符,则输出转义字符,
而如果并不存在\x这个转义,则将\x认为还是x。
因此,要使'\'能存在或找得到,那单写个'\'是不可能的。

唯一的方法是使用"\\"。

[此贴子已经被作者于2006-8-15 15:11:14编辑过]


欢迎访问我的博客--*IT一粟*-- : http://lyn_gemini.
2006-08-15 15:07
youxiaxyz
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2006-4-5
收藏
得分:0 
奥,是这样啊!
那有解决办法吗?
2006-08-15 16:39
youxiaxyz
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2006-4-5
收藏
得分:0 
以下是引用Apple_skm在2006-8-15 11:23:11的发言:
用strchr()找出\在字符串中的位置,然后在那个位置设置一个结束符就可以了

我想看一看具体该怎样实现呢?

2006-08-15 16:40
youxiaxyz
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2006-4-5
收藏
得分:0 
怎么没有人回答?苦等中。。。。。。。。。。。。。。。。
2006-08-16 21:44
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 


#include "Stdio.h"
#include "Conio.h"
#include "string.h"

int main(void)
{
char s[20]="dfdfd\\fdfd";
char ch='\\';
char *p=strchr(s,ch);
*p='\0';
puts(s);
getch();
return 0;
}


对不礼貌的女生收钱......
2006-08-16 21:58
wuyufenjr
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2006-7-20
收藏
得分:0 
转义字符‘|’,是这样‘\\'
2006-08-16 22:03
youxiaxyz
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2006-4-5
收藏
得分:0 

上楼的把我的字符串给改了,不过我自己倒是找到了一个方法就是利用文件的读写,fgetc和fputc函数

2006-08-17 12:41
ajtomato
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-8-16
收藏
得分:0 

#include <stdio.h>
#include <string.h>

#define STRING_LENGTH 20

void main()
{
unsigned char str[STRING_LENGTH];
unsigned int i = 0;

scanf("%s", str);

while(str[i] != '\\')
{
printf("%c", str[i]);
i ++;
}
printf("\n");

while(1)
;
}

其实楼主的问题很好,关于 \ 必须要有一个非常好的解释,也期待高手。
我的方法,有点投机取巧了,但功能实现了:)

2006-08-17 13:10
快速回复:关于转义符
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013990 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved