您的位置:程序门 -> c/c++ ->



关于strcmp与const的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


关于strcmp与const的问题
发表于:2007-05-19 21:51:10 楼主
程序代码如下
strcmp(py_input, "cuo ");
编译时会警告warning[pe167]:   argument   of   type   "unsigned   char   * "   is   incompatible   with   parameter   of   type   "char   const   * "
如何解决呢?
发表于:2007-05-19 21:55:341楼 得分:0
py_input的类型可能有点问题,定义时改成:

const   char   *py_input   =   "abcd ";   //试试
发表于:2007-05-19 21:57:082楼 得分:0
你的   py_input   是不是定义成   unsigned   char   *   了

按楼上的改改
发表于:2007-05-19 22:18:473楼 得分:0
py_input   定义为   char   数组   或者char*
发表于:2007-05-19 22:28:584楼 得分:0
strcmp((char   *)py_input, "cuo ");

类型强制转化一下就可以了。
程序的问题是类型不兼容
发表于:2007-05-19 22:31:185楼 得分:0
同意ls的以及ls的ls和ls的ls的ls
发表于:2007-05-20 08:45:366楼 得分:0
感谢大家的回答   问题已经解决了
我原来把py_input[]定义为unsigned   char   ,出现上面的警告后也用strcmp((unsigned   char   *)py_input, "cuo ")试过,编译仍然警告同样的内容如上,我还以为要把unsigned   char   转换为const型的。
但还有点不明白, "cuo "是const型的符合型参类型可以理解,但把py_input转换为char   *后应该不符合strcmp(const   char   *,const   char   *)的型参要求啊  


以前学c的时候也没有注意,只是知道定义char型数组后就可以调用strcmp了,学得还很浅呵
请大家再看看
发表于:2007-05-20 09:40:137楼 得分:0
但还有点不明白, "cuo "是const型的符合型参类型可以理解,但把py_input转换为char   *后应该不符合strcmp(const   char   *,const   char   *)的型参要求啊  
=====>

t*赋给const   t*没有问题,   反之则不行.
发表于:2007-05-20 10:00:238楼 得分:0
主要是你那个py_input的unsigned搞的   有没有const无所谓


快速检索

最新资讯
热门点击