当前位置: 编程技术>c/c++/嵌入式
C++实现strcmp字符串比较的深入探讨
来源: 互联网 发布时间:2014-10-16
本文导语: strcmp的实现函数简介原型:extern int strcmp(const char *s1,const char * s2); 用法:加头文件 #include 功能:比较字符串s1和s2。一般形式:strcmp(字符串1,字符串2)返回值: 当s10 即:两个字符串自左向右逐个字符相比(按ASCII值大...
strcmp的实现
函数简介原型:extern int strcmp(const char *s1,const char * s2);
用法:加头文件 #include
功能:比较字符串s1和s2。
一般形式:strcmp(字符串1,字符串2)
返回值:
当s10
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇''为止。如:"A""A" "computer">"compare"
特别注意:
1. strcmp(const char *s1,const char * s2)这里面只能比较字符串,不能比较数字等其他形式的参数。
2. 关于返回值,标准只是规定三个值:小于零,零,大于零。具体是什么值编译器自己定的,所以编程时候判断小于等于大于,不能判断是否等于1或者-1,如在VC中strcmp("123","1234") 返回-1,而在TC中返回-52。
下面是我自己的实现,不足之处,还望指正!(我这里的返回-1,0,1)
#include "stdafx.h"
#include
#include
using namespace std;
{
char *str1 = "Hello World";
char *str2 = "Hello world";
cout
Base64编码原理详解及c++编码解码实现
我实现了个J2EE技术的服务器,支持TCP、UDP和数据库,由于性能的原因,需要改为C或C++实现,我是C、C++新手,我该如何入手呢?看什么样的
c++实现MD5算法代码示例
java 与 C++ 实现后绑定的方法
c++通用模板类(template class)定义实现详细介绍
Qt实现的C++框架 qtioccontainer
用C或C++实现主存的分配与回收
在linux系统上,如何用C++实现获取和设置系统时间?
文本压缩算法C++实现 Golden Huffman
C++标准库实现 libc++
C++的XMLRPC实现 XMLRPC++
Java/JavaScript API 的 C++ 实现 libj
c++ 连接两个字符串实现代码 实现类似strcat功能
c++在unix中如何实现CString的方法?或者说有没有替换CString的类?
请问:java中如何实现C++中的sizeof()方法?
用C或C++编程,模拟可变分区存储管理且首次适应的算法实现存储器的分配与回收
vim中如何实现c++代码编写的自动格式化和语法高亮的功能?
C++实现CreatThread函数主线程与工作线程交互的方法
请教为什么在C++编译通过并实现的程序,在linux下就会出错
linux下c++怎样实现回调(CALLBACK)函数?
函数简介原型:extern int strcmp(const char *s1,const char * s2);
用法:加头文件 #include
功能:比较字符串s1和s2。
一般形式:strcmp(字符串1,字符串2)
返回值:
当s10
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇''为止。如:"A""A" "computer">"compare"
特别注意:
1. strcmp(const char *s1,const char * s2)这里面只能比较字符串,不能比较数字等其他形式的参数。
2. 关于返回值,标准只是规定三个值:小于零,零,大于零。具体是什么值编译器自己定的,所以编程时候判断小于等于大于,不能判断是否等于1或者-1,如在VC中strcmp("123","1234") 返回-1,而在TC中返回-52。
下面是我自己的实现,不足之处,还望指正!(我这里的返回-1,0,1)
代码如下:
#include "stdafx.h"
#include
#include
using namespace std;
int mystrcmp(const char* str1,const char* str2)
{
assert(str1 != NULL && str2 != NULL);
while(*str1 && *str2 && *str1 == *str2)
{
++str1;
++str2;
}
if (*str1 > *str2)
return 1;
if (*str1 < *str2)
return -1;
else
return 0;
}
{
char *str1 = "Hello World";
char *str2 = "Hello world";
cout