在做專案時,總是會碰到各種詭異蛋疼的問題。例如,對比版本號。一般我們的版本號都是如:1.0.2 這樣的字串,那我想要知道當前的版本號和它對比,到底是哪乙個更高一些,只能通過他們的數字來對比了。廢話不多說,直接上solution
std::
vector
<
int>
split(
const
std::
string
str,
std::
string
sep
/*= "."*/)
std::
string
tmp;
std::string
::size_type
pos_begin = str.
find_first_not_of
(sep);
std::string
::size_type
comma_pos = 0;
while
(pos_begin !=
std::
string
::npos)
else
if(!tmp.
empty
()) }
return
vec; }
這種方法比較靈活,沒有限定死一定要由幾個.或者幾個數字,返回乙個vector,可以按照順序取出所有的數字來進行一一對比
object c字串比較之 版本號
在開發當中,經常會比較軟體的版本號,比如1.0.0.1與1.0.1。方法有很多,你可以乙個乙個解析出來,比較數值。其實有一種nsstring的內建比較方法,只不過帶了比較選擇項,多乙個引數而已。下面的原始碼擴充套件了系統的nsstring功能,術語叫 category。01.implementati...
165 比較版本號 中等,字串)(12 24)
比較兩個版本號 version1 和 version2。如果version1 version2返回1,如果version1 version2返回 1,除此之外返回0。你可以假設版本字串非空,並且只包含數字和.字元。字元不代表小數點,而是用於分隔數字序列。例如,2.5不是 兩個半 也不是 差一半到三 ...
c 比較字串大小或版本號大小
include includeint main int argc,char ar s1,s2為字串時候memcmp s1,s2,1 就是比較s1和s2的第乙個位元組的ascii碼值 memcmp s1,s2,n 就是比較s1和s2的前n個位元組的ascii碼值 如 char s1 abc char ...