zoukankan      html  css  js  c++  java
  • strcmp函数的使用



    ________________________________________________________________________________________________________________________________________________
    strcmp("ha","he")是可以的。  
      但是如下代码:  
      string   str1   =   "ha";  
      string   str2   =   "he";  
      strcmp(str1,   str2);  
      会产生如下的ERROR:  
       
      error   C2664:   'strcmp'   :   cannot   convert   parameter   1   from   'class   std::basic_string<char,struct   std::char_traits<char>,class   std::allocator<char>   >'   to   'const   char   *'  
      No   user-defined-conversion   operator   available   that   can   perform   this   conversion,   or   the   operator   cannot   be   called  
       
      为什么呢?
     
      _______________________________________________________________________________________________________________________________________________
     
      int   strcmp(const   char*   str1,   const   char*   str2);  
      这个函数是C标准库的函数,处理的是C风格0结尾字符数组字符串。  
      C++标准库中的string类有可以直接使用的<,>,<=,>=,==,!=运算符,通常也用不到这个函数。  
     
      _______________________________________________________________________________________________________________________________________________
     
      对,   strcmp()处理的是C风格的字符串。  
      而你用的是string类,2者是不同的。
     
      _______________________________________________________________________________________________________________________________________________
      ***********************************************************************************************************************************************
      strcmp函数原型为:  
      int   strcmp(  
            const   char   *string1,  
            const   char   *string2    
      );  
       
      其参数是传统的char   *型字符串,string型数据类型是不能作为其参数的。但可以通过string成员函数string::c_str()转换成char*类型。象这样调用:  
      strcmp(str1.c_str(),   str2.c_str())  
     
      ***********************************************************************************************************************************************
      -----------------------------------------------------------------------------------------------------------------------------------------------

  • 相关阅读:
    sqlhelper使用指南
    大三学长带我学习JAVA。作业1. 第1讲.Java.SE入门、JDK的下载与安装、第一个Java程序、Java程序的编译与执行 大三学长带我学习JAVA。作业1.
    pku1201 Intervals
    hdu 1364 king
    pku 3268 Silver Cow Party
    pku 3169 Layout
    hdu 2680 Choose the best route
    hdu 2983
    pku 1716 Integer Intervals
    pku 2387 Til the Cows Come Home
  • 原文地址:https://www.cnblogs.com/jackhub/p/3147259.html
Copyright © 2011-2022 走看看