关于字符串比较的问题?(限于c语言)
我现定义两字符数组:
char  Pointer[300][500];
char  cBufA[500];
我现在往Pointer[0][]里赋字符串“111”;
同样往cBufA[40]里赋字符串“111”
我现在想比较两字符串是否相等,于是用函数
Strcmp((const char *)cBufA,(const char *)Pointer[0]);
但返回值不是0,即两字符串不相等,看内存处,显示他们占字节数不一样,也就是说一个‘\0’多,一个少,请问怎么办?
还有StrcmpN可以控制比较字符串的个数,但我不知道其头文件是什么?

解决方案 »

  1.   

    StrcmpN? 好像应该是strncmp吧?<string.h>
      

  2.   

    我想两个字符串的大小和他们后面的0的多少是没有关系的,你看看是否有其他原因。第二个问题:建议使用 strncmp(),在string.h中
      

  3.   

    你是怎么给Pointer[0]和cBufA赋值的?你的编译环境?
    我怎么相等啊?
      

  4.   

    这样比较吧:Strcmp((const char *)&cBufA[40],(const char *)Pointer[0]);
      

  5.   

    char  cBufA[500];
    怎么能给cBufA[40]赋值为"111"的字符串,cBufA[40]只是一个字符,
    而Pointer[0]是一个字符串;
      

  6.   

    我以为是 xusun (陵仲)  写错了呢
    我验证时是给Pointer[0]和cBufA赋值的,得到的结果是相等(VC++ 6.0)