c++ sting类型比较大小(文本数值大小比较)

简介: c++ sting类型比较大小(文本数值大小比较)

c++ sting类型比较大小

在我们使用sting类时,我们有时候会要对于string进行数据大小的比较,我们可以使用我们其sting本身的函数来进行<和>的比较,但是他比较的仅仅是一个字符串的比较。

也就是说,他进行的仅仅是一个,单个字符的比较,


例如:

"1"和"2"的比较,这很明显是"2"大;

我们再来看"111"和"2"的比较,在string的机制里面,他还是会判别"2"大,因为我们在string里面比较的就只是首个字符的大小。

所以,我们如何来让其转化成我们正常的数值大小比较???


我们可以定义一个

#include <cstdlib>

然后利用int 取个名字=std::atoi(你string结构的名字.c_str());

就相当于另外设立了一个值来承接string里面的数字

#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
int main()
{
 string a="111";
 string b="2";
 if (a>b)  cout<<"a>b";
 else      cout<<"b>a";
 
 
 cout<<endl<<endl<<endl;
 
 int a1=std::atoi(a.c_str());// c_str()固定格式 
 int b1=std::atoi(b.c_str());
 if (a1>b1)  cout<<"a>b";
 else        cout<<"b>a";
  
 } 

这个也是我今晚做项目遇到的一个问题,解决了也想分享给大家

相关文章
|
9天前
|
存储 程序员 C语言
c++primer plus 6 读书笔记 第四章 复合类型
c++primer plus 6 读书笔记 第四章 复合类型
|
1天前
|
存储 编译器 程序员
C++一分钟之-auto关键字与类型推导
【6月更文挑战第21天】`auto`在C++11中重生,简化了类型声明,尤其在处理复杂类型时。它让编译器根据初始化值推导变量类型,减少了冗余和错误。使用`auto`简化了迭代器声明和函数返回类型推导,但也带来挑战:类型推导可能不直观,未初始化的`auto`是错误的,且过度使用影响可读性。使用`auto&`和`auto*`明确引用和指针,`decltype`辅助复杂类型推导,保持适度使用以维持代码清晰。
13 1
|
3天前
|
C语言 C++
C++对C的改进和拓展\string类型
C++对C的改进和拓展\string类型
5 1
|
10天前
|
C++
c++语言核心技术要点,《运行时类型识别RTTI》
c++语言核心技术要点,《运行时类型识别RTTI》
17 2
|
26天前
|
存储 安全 编译器
c++变量类型
c++变量类型
22 1
|
26天前
|
存储 编译器 程序员
c++修饰符类型
c++修饰符类型
21 1
|
2天前
|
C++
C++一分钟之-类与对象初步
【6月更文挑战第20天】C++的类是对象的蓝图,封装数据和操作。对象是类的实例。关注访问权限、构造析构函数的使用,以及内存管理(深拷贝VS浅拷贝)。示例展示了如何创建和使用`Point`类对象。通过实践和理解原理,掌握面向对象编程基础。
29 2
C++一分钟之-类与对象初步
|
3天前
|
存储 编译器 C++
|
3天前
|
C++
C++类和类模板——入门
C++类和类模板——入门
9 1
|
4天前
|
数据安全/隐私保护 C++
C++ 中的类是一种用户定义的数据类型,用于表示具有相似特征和行为的对象的模板。
C++ 中的类是一种用户定义的数据类型,用于表示具有相似特征和行为的对象的模板。