在比较两个字符串之前(整数)之前,将字符串转换为整数有任何好处

Is there any benefit to transform strings into integers before compare two strings(which are integer)?

本文关键字:整数 字符串 转换 任何好 比较 两个 之前      更新时间:2023-10-16

最近我写了一个更新程序,该程序从远程读取.ini信息。它从.ini文件中获取版本值,示例:版本= 4

我的程序在"版本="之后抓住字符串,这是字符串" 4",我尝试将其与另一个字符串进行比较,即" 5"

示例代码:

string first_value = "4";
string second_value = "5";
//compare two values
if ( first_value < second_value){
    cout << "4 is smaller than 5" <<endl;
}else{
    cout << "5 is smaller than 4" <<endl;
}

上面的代码有效,C 必须将它们转换为我的整数,因此它有效。

但是,我想知道首先将" first_value"answers" second_value"转换为整数,然后比较两个整数是否更好?这样做有什么好处吗?编写我的比较代码的更好方法?

当然。操作员&lt;因为字符串只是比较两个参数的字母顺序。这意味着," 099"不等于" 99"( first targine of" 099 "是" 0"," 99 "的第一个 trigart 是" 9",当您比较其字母顺序时," 0"&lt;" 9",所以> 099 "&lt;" 99 "),例如"19" < "9"。您可以看到这当然是不正确的。