关于C++中字符串是否可以比较大小的问题

C++中字符串分两种,一种是C语言的字符串,一种是string字符串。

C语言字符串是不可以直接比较大小的,string是可以直接比较大小的。

 

具体细节:

  1. C语言的字符串的实质是一个字符数组中存储的字符序列,如果直接比较大小相当于比较了两个字符串的首地址的大小,毫无意义。

  2. C语言的字符串需要通过strcmp函数进行比较大小。

  3. C++添加的string字符串是一个类,该类对运算符>、<和==进行了重载,能够直接比较两个字符串的大小。(运算符重载技术)

  4. 建议在C++中尽量使用string字符串,简单,且不容易出错。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下载好代码后直接在linux环境下减压,make之后即可产生可执行代码,压缩文件已经包含了可执行代码。 通过串的堆分配存储结构来实现串的以下功能: //生成一个值等于串常量chars的串string int StrAssign(HString *str,char *chars); //返回串string的长度 int StrLength(HString str); //比较两个串的大小,如果str1 > str2,返回值>0,如果相等,返回0,如果str1 < str2,返回值<0 int StrCompare(HString str1,HString str2); //清空串,释放串所占用的空间 int ClearString(HString *str); //返回串Str1和Str2联合而成的串 HString Concat(HString str1,HString str2); //返回串str的第pos个字符之后的长度为len的子串 HString SubString(HString str,int pos,int len); //显示字符串 int StrTrave(HString str); //-----------------------附加串操作函数-------------------------- //以下串操作可由基本串操作来实现 //串str1复制得到str2 int StrCopy(HString str1,HString *str2); //串str为空串,返回1,否则返回0 int StrEmpty(HString str); //如果主串str存在和串substr相等的子串,则返回子串在主串pos个字符之后第一次出现的位置 ,运用了KMP算法 int Index(HString str,HString substr,int pos); //Index包括了一个静态函数get_next(),这个函数可以得到字符串的最简匹配值(kmp算法字符匹配失败后的下一个最佳匹配值) //用字符串Tstr替换主串str出现的所有与substr相等的子串 int StrReplace(HString **str,HString substr,HString Tstr); //在串str的第pos个字符之后插入串substr int StrInsert(HString *str,HString substr,int pos); //从串str的第pos个字符起删除len个字符 int StrDelete(HString **str,int pos,int len); //销毁现有串str int StrDestory(HString *str);

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值