这样并不能解决问题,我给的字符串是任意的,并不是局限上面的那一种。
有没有从根本上解决转义字符的方法,或者更本就没有呢?
等待中。。。。。。。。。。。。。。。。。。。
本质是,假如你在一个字符串里任意一个位置加入\'符号,那这个符号肯定是要消失的,别指望能找到它。
因为当'\'和一个字符连接起来时,例如和x字符,则如果\x是c里存在的转义字符,则输出转义字符,
而如果并不存在\x这个转义,则将\x认为还是x。
因此,要使'\'能存在或找得到,那单写个'\'是不可能的。
唯一的方法是使用"\\"。
[此贴子已经被作者于2006-8-15 15:11:14编辑过]
----------------解决方案--------------------------------------------------------
奥,是这样啊!
那有解决办法吗?
----------------解决方案--------------------------------------------------------
用strchr()找出\在字符串中的位置,然后在那个位置设置一个结束符就可以了
我想看一看具体该怎样实现呢?
----------------解决方案--------------------------------------------------------
怎么没有人回答?苦等中。。。。。。。。。。。。。。。。
----------------解决方案--------------------------------------------------------
#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;
}
----------------解决方案--------------------------------------------------------
转义字符‘|’,是这样‘\\'
----------------解决方案--------------------------------------------------------
上楼的把我的字符串给改了,不过我自己倒是找到了一个方法就是利用文件的读写,fgetc和fputc函数
----------------解决方案--------------------------------------------------------
#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)
;
}
其实楼主的问题很好,关于 \ 必须要有一个非常好的解释,也期待高手。
我的方法,有点投机取巧了,但功能实现了:)
----------------解决方案--------------------------------------------------------