怎样使 C++实现strcmp字符串比较

如题,不能用assert

C还是C++? 还有什么其他要求? 就是模拟C标准库里面的strcmp函数吗? 如果是,下面是一个通用的代码:

int strcmp (const char * s1, const char * s2)
{
    for(; *s1 == *s2; ++s1, ++s2)
        if(*s1 == 0)
            return 0;
    return *(const unsigned char *)s1 - *(const unsigned char *)s2;
}

完全模拟标准库,连缺点都继承了。。。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-19
strcmp
例如:
printf( "Enter your name: " );
scanf( "%s", name );
if( strcmp( name, "Mary" ) == 0 )//返回0 代表比对相同,否则不同
{printf( "Hello, Dr. Mary!\n" );}
else
{
printf( "Error!\n" );
}
第2个回答  2013-07-19
同意3楼! splashchaos。
第3个回答  2013-07-19
加个头文件呗
#include<string>
但是这个比较字符串是按ask码的,只有>0;==0;<0几种情况!!!

怎样使 C++实现strcmp字符串比较
int strcmp (const char * s1, const char * s2){ for(; *s1 == *s2; ++s1, ++s2) if(*s1 == 0) return 0; return *(const unsigned char *)s1 - *(const unsigned char *)s2;}完全模拟标准库,连缺点都继承了。。。

C++ 写一个函数,实现两个字符串的比较,即自己写一个strcmp函数
if (P1[q]!= P2[q]) return (int)(p1[q] - p2[q]);} \/\/如果在q个字符P1不等于P2,返回ASCII码差 \/*如果两个字符串都检测结束了,还没有发现不同字符那就要比较两个字符串长度是否一样*\/ if(i==q) return 0;else return (int)P1[q+1]; \/\/如果字符串P1比P2长,打出P1...

c++自己写一个strcmp函数,实现两个字符串的比较。两个字符串s1,s2由m...
int strcmp_new(const char* src, const char* dst){int ret = 0;while( !(ret = *(unsigned char*)src - *(unsigned char*)dst) && *dst){src ++;dst ++;} if( ret < 0) ret = -1;else if(ret > 0) ret = 1;return ret;} int main(){ char s1[10] = "1234";char...

C++字符串比较 strcmp
strcmp 是用来比较两个C字符串(即char数组),参数类型都是char*,所以不能直接拿string作为参数。可以用<cstring>,但写成cout<<strcmp(word.c_str(), word1.c_str()); string类型的c_str()函数会将string中的字符串转为const char

用C++实现strcmp的功能,字符串s和t比较,相等返回0,不相等返回ASCII的差值...
回答:(1) i <= strlen(s) && i <= strlen(t) (2) s[i] == 0 && t[i] == 0 (3) if (s[i] != t[i]) return s[i] - t[i];

C++中怎样比较两个字符串的大小
头文件: #include <string.h> 用 strcmp函数或strncmp函数。函数原型:int strcmp ( const char * str1, const char * str2 );int strncmp ( const char * str1, const char * str2, size_t num );返回值 0, 两字符串一样。返回值 大于 0, str1 大于 str2。返回值 小于 0...

c++中strcmp函数怎么使用?
一、strcmp函数strcmp函数是比较两个字符串的大小,返回比较的结果。一般形式是:i=strcmp(字符串,字符串);其中,字符串1、字符串2均可为字符串常量或变量;i 是用于存放比较结果的整型变量。比较结果是这样规定的:①字符串1小于字符串2,strcmp函数返回一个负值;②字符串1等于字符串2,strcmp函数返回零...

C++ strcmp函数怎么用?strcmp函数的使用方法与原理
字符'A'的ASCII码为65,而字符'a'的ASCII码为97,因此'A'小于'a',函数返回-1。如果两个字符数组的长度不一致,strcmp函数会比较直到遇到数组末尾的空字符,空字符的ASCII码为0。一旦遇到空字符,strcmp会立即返回非零值,表明字符串长度不相等。值得注意的是,strcmp函数的返回值为0时,表示两个字符...

C++ 实现库函数strcmp()的功能 使用指针逐个比较字符,直到比较到不同的...
不使用库函数,编写函数int strcmp(char *source, char *dest),若相等返回0,否则返回-1 int strcmp(char *source, char *dest){ assert(source != NULL && dest != NULL);while(*source++==*dest++){ if(*source=='\\0'&&*dest=='\\0')return 0;} return -1;} ...

C++中如何判断两个字符串是否相等?
C语言中比较两个字符串是否相等的方法是使用strcmp函数。它的形式是:strcmp(str1, str2) == 0(成立则两个字符串相等),它需要在编译器开头加上#include<string.h>头文件。它的作用是接受两个参数,并用前者去减后者。如果为0就是相等。如果负数,前者在ASCLL表的代码比后者小。举例:include<...

相似回答