首页
社区
课程
招聘
[求助]关于strstr函数,如果碰到中文,怎么解决?
发表于: 2008-12-14 20:51 7480

[求助]关于strstr函数,如果碰到中文,怎么解决?

2008-12-14 20:51
7480
strstr对比一个缓冲区当中是否存在某一字符,这个字符仅仅针对英文跟数字,要是碰到中文呢?比如我要在一个缓冲区当中检测是否存在“看雪技术论坛”,该如何对比?求解

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 86
活跃值: (56)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
2
wcsstr
2008-12-14 21:03
0
雪    币: 130
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不受影像,*str1++ == *str2++
2008-12-14 21:18
0
雪    币: 231
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
qdk
4
中文编码的第一个字节比较特殊

不会出现你所担心的混淆的情况。
2008-12-14 21:59
0
雪    币: 4200
活跃值: (4178)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
void main( int argc, char * argv[])
{

	CHAR str[]="看雪技术论坛";
	CHAR buf[]="比如我要在一个缓冲区当中检测是否存在“看雪技术论坛”,该如何对比?求解";
	CHAR *p= strstr(buf,str);
	int Result = p - buf ;
	printf("所在位置:%d\n",Result);

	CHAR _test[255]={0};
	int len= strlen(buf) - Result;
	for (int i=0;i<len;i++)
	{
		_test[i] = *(buf+Result+i);
	}
	printf("%s\n",_test);
}
2008-12-14 22:51
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
含中英文的多字节字符编码字符串的子串操作不受影响的,但如果是求字符数目的话就麻烦了,一般要用unicode类型操作就没有问题了
2008-12-16 10:49
0
雪    币: 796
活跃值: (370)
能力值: ( LV9,RANK:380 )
在线值:
发帖
回帖
粉丝
7
搞定,多谢牛牛们的热心。挖卡卡
2008-12-16 18:53
0
游客
登录 | 注册 方可回帖
返回
//