c 比較字串大小或版本號大小

2021-09-19 13:20:06 字數 435 閱讀 8683

#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 *s2="acd";

int r=memcmp(s1,s2,3);

就是比較s1和s2的前3個位元組,第乙個位元組相等,第二個位元組比較中大小已經確定,不必繼續比較第三位元組了

memcmp原始碼:

#include int memcmp(const void *vl, const void *vr, size_t n)

比較版本號大小

適用於用.分隔的形式,如2.2.2的格式 1 前者大則返回乙個正數 2 後者大返回乙個負數 3 相等則返回0 return int if version1 null version2 null 注意此處為正則匹配,不能用.string versionarray1 version1.split str...

C 如何比較版本號大小

最近遇到了乙個資料遷移的問題,因為配置檔案的結構發生變化,所以要把低版本的使用者資料儲存下來,存到最新版本中去。這裡就有乙個比較版本號大小的問題了,網上亂七八糟演算法一堆,大致意思就是用分割字串的方法,比如2.1.2和2.2.4,挨個比較,用遞迴來處理等等的,其實c 自帶乙個類verson 可以滿足...

android 版本號大小比較

網上找了很多方法都不太靠譜,有問題,自己改了改,親試可以 1.主版本號 2.次版本號 3.修正版本號 4.編譯版本號 例如 2.1 3 3.7 5,10.2.0 在比較版本號時,正確的做法應該是,主版本號和主版本號比較,次版本號和次版本號比較等等,也就是把版本號分割,對應的組成之間進行比較,如下 版...