解析版本號的字串

2021-07-02 18:01:29 字數 726 閱讀 6022

在做專案時,總是會碰到各種詭異蛋疼的問題。例如,對比版本號。一般我們的版本號都是如: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 ...