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";
  
 } 

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

相关文章
|
3天前
|
C++
使用 QML 类型系统注册 C++ 类型
使用 QML 类型系统注册 C++ 类型
8 0
|
10天前
|
存储 C++
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
22 0
|
2月前
|
编译器 C++ 运维
开发与运维函数问题之函数的返回类型如何解决
开发与运维函数问题之函数的返回类型如何解决
28 6
|
2月前
|
安全 编译器 C++
C++一分钟之-模板元编程实例:类型 traits
【7月更文挑战第15天】C++的模板元编程利用编译时计算提升性能,类型traits是其中的关键,用于查询和修改类型信息。文章探讨了如何使用和避免过度复杂化、误用模板特化及依赖特定编译器的问题。示例展示了`is_same`类型trait的实现,用于检查类型相等。通过`add_pointer`和`remove_reference`等traits,可以构建更复杂的类型转换逻辑。类型traits增强了代码效率和安全性,是深入C++编程的必备工具。
45 11
|
2月前
|
C++
C++一分钟之-类型别名与using声明
【7月更文挑战第20天】在C++中,类型别名和`using`声明提升代码清晰度与管理。类型别名简化复杂类型,如`using ComplexType = std::vector&lt;std::shared_ptr&lt;int&gt;&gt;;`,需注意命名清晰与适度使用。`using`声明引入命名空间成员,避免`using namespace std;`全局污染,宜局部与具体引入,如`using math::pi;`。恰当应用增强代码质量,规避常见陷阱。
49 5
|
18天前
|
设计模式 安全 IDE
C++从静态类型到单例模式
C++从静态类型到单例模式
22 0
|
2月前
|
编译器 C++
C++从遗忘到入门问题之C++中的浮点数类型问题如何解决
C++从遗忘到入门问题之C++中的浮点数类型问题如何解决
|
18天前
|
C++ 容器
C++中自定义结构体或类作为关联容器的键
C++中自定义结构体或类作为关联容器的键
25 0
|
18天前
|
存储 算法 搜索推荐
【C++】类的默认成员函数
【C++】类的默认成员函数
|
17天前
|
存储 安全 编译器
【C++】类和对象(下)
【C++】类和对象(下)
【C++】类和对象(下)
下一篇
云函数