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 聚合订阅评论


登录




请记住我

日历

12月 2007
« Nov   Jan »
 12
3456789
10111213141516
17181920212223
24252627282930
31  

最新文章