我们知道C语言中可以用strcmp来比较两个字符,但是那是区别大小写的,C++中有没有不分大小写的strcmp?

HashCodeWithJava 2001-06-01 07:45:00
...全文
3789 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xin_cygnet 2001-06-01
  • 打赏
  • 举报
回复
至于C++的 Comp 可用下边的函数实现,其中当 diff==TRUE 时区分大小写,否则不区分大小写。

int StrComp(CString s1,CString s2,BOOL diff)
{
LPCTSTR sz1,sz2;
sz1=s1;
sz2=s2;
if(diff)//区分大小写
{
return strcmp(sz1,sz2);
}
else
{
return _stricmp(sz1,sz2);
}
}
xin_cygnet 2001-06-01
  • 打赏
  • 举报
回复
Sodar 说得言简意赅,可谓Sodar的贴子一出就应立即得分。请看下边使用 _stricmp 的例子,一看便知!

/* STRCMP.C */

#include <string.h>
#include <stdio.h>

char string1[] = "The quick brown dog jumps over the lazy fox";
char string2[] = "The QUICK brown dog jumps over the lazy fox";

void main( void )
{
char tmp[20];
int result;
/* Case sensitive */
printf( "Compare strings:\n\t%s\n\t%s\n\n", string1, string2 );
result = strcmp( string1, string2 );
if( result > 0 )
strcpy( tmp, "greater than" );
else if( result < 0 )
strcpy( tmp, "less than" );
else
strcpy( tmp, "equal to" );
printf( "\tstrcmp: String 1 is %s string 2\n", tmp );
/* Case insensitive (could use equivalent _stricmp) */
result = _stricmp( string1, string2 );
if( result > 0 )
strcpy( tmp, "greater than" );
else if( result < 0 )
strcpy( tmp, "less than" );
else
strcpy( tmp, "equal to" );
printf( "\t_stricmp: String 1 is %s string 2\n", tmp );
}


Output

Compare strings:
The quick brown dog jumps over the lazy fox
The QUICK brown dog jumps over the lazy fox

strcmp: String 1 is greater than string 2
_stricmp: String 1 is equal to string 2

HashCodeWithJava 2001-06-01
  • 打赏
  • 举报
回复
不是用CString
到lstrcmpi
和_stricmp行不行喔?
gameboy999 2001-06-01
  • 打赏
  • 举报
回复
strcmp(UpperCase(str1),UpperCase(str2));

ok!
joke100 2001-06-01
  • 打赏
  • 举报
回复


int lstrcmpi(
LPCTSTR lpString1, // first string
LPCTSTR lpString2 // second string
);

The comparison is not case sensitive.

int n = lstrcmpi("abcd", "ABcd"); // 结果n == 0,忽略大小写
ydogg 2001-06-01
  • 打赏
  • 举报
回复
strcmp()是区分大小写的。。。

你可以用CString类的MakeUpper()或者MakeLower()函数,
全部转换为大写或小写,在作比较。
这样,就可以不考虑大小写的问题了。
Sodar 2001-06-01
  • 打赏
  • 举报
回复
_stricmp

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧