c++.net编程中字符串比较引起的问题
2007年12月28日 星期五 zmouse 1424次阅读
在定义了一个结构,里面用了字符串类型的话,如下:
typedef struct _DeviceInf
{
int nDeviceId;//装置ID
char chDeviceName[201];//装置名
char chBreakBh[WORDDOC_NAMESTRING_LEN];//开关编号
WORD DetectOffLockCode;//检分锁编码
char chDetectOffBreakBh[WORDDOC_NAMESTRING_LEN];//检分开关编号
WORD DetectOnLockCode;//检合锁编码
char chDetectOnBreakBh[WORDDOC_NAMESTRING_LEN];//检合开关编号
WORD YanDianLockCode;//验电锁编码
char chYanDianBreakBh[WORDDOC_NAMESTRING_LEN];//验电开关编号
int LockTypeID;//锁类型号
}DeviceInf;
如果你申请了一个此结构的变量,如DeviceInf* pDeviceInf =new DeviceInf;。
用此机构变量去比较一个字符串,如if(pDeviceInf->chDetectOffBreakBh != “NULL_STR”),编译的时候是没有语法错误的,而在运行的时候,则会出现此变量pDeviceInf数据被破坏的情况,请注意。要比较字符串应该使用_StrCmp( )函数,或者把pDeviceInf->chDetectOffBreakBh赋值给一个CString变量然后进行比较,这样就没问题了。
项目归类于: 工作编程
1 条评论 发表您的评论
1. Rufos&hellip | 2008年10月30日 星期四 7:12 上午
greatings…
usefull…
发表您的评论
允许使用一些 HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>
引用 (Trackback) 这篇文章 | 通过 RSS 聚合订阅评论