怎么判断字符串指针str指向有效字符串?
例如一个字符串指针
char* str;
现在只是判断str是否等于零,,但这是不够的,因为有时候这个指针不为零(debug中),但是指的是一堆乱码.
还有一个函数可以判断一个字符串指针是否有效:IsBadStringPtr,但是这个函数不可靠,求教各位
问题点数:50、回复次数:8Top
1 楼steedhorse(晨星)回复于 2005-01-23 17:20:51 得分 20
没有任何办法。Top
2 楼steedhorse(晨星)回复于 2005-01-23 17:21:45 得分 0
函数的调用者应该负责让这个指针指向的内容有效,如果发生无效的情况,应该在开发阶段就发现并解决,不要带到发布的产品中。Top
3 楼zhang_zhibin(blackcat)回复于 2005-01-23 17:25:08 得分 10
:(Top
4 楼cxf1976()回复于 2005-01-23 17:29:27 得分 0
是啊,Release版不会出现,Debug版会出现,跑着跑着就跑飞了.
我的程序起了数百个TCP连接(线程),资源没有出问题,到是指针出问题了.Top
5 楼eliner(eliner)回复于 2005-01-23 17:59:51 得分 7
使用指针就应该每次都要保证它的有效性
1、声明时: char *p = NULL;
2、释放之后就应该立刻: p = NULL;Top
6 楼iamltq(A.QIANG)回复于 2005-01-24 12:02:56 得分 7
楼上说的好,定义时最好同时做初始化的动作,这样便于以后的判断...Top
7 楼ultralzl(自然)回复于 2005-01-24 13:55:12 得分 6
在VC的DEBUG版可以多加个判断
p != NULL && p != 0xcccccccc
0xcccccccc是DEBUG版VC默认给的指针地址,方便调试时找出错误来。Top
8 楼cxf1976()回复于 2005-02-17 11:49:52 得分 0
使用std:string算了。Top




