国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

linux下strncasecmp的實現

2019-11-06 06:36:17
字體:
來源:轉載
供稿:網友

看來strcpy的實現確實是太low了,騰訊的筆試字符串知識點考察就變了。 linux下不區分大小寫的字符串比較函數原型: int strncasecmp(const char *s1, const char *s2, register size_t n); 返回值:如果相等返回0     如果s1>s2,返回正整數     如果s1<s2,返回負整數

static const unsigned char charmap[] = {        '/000', '/001', '/002', '/003', '/004', '/005', '/006', '/007',        '/010', '/011', '/012', '/013', '/014', '/015', '/016', '/017',        '/020', '/021', '/022', '/023', '/024', '/025', '/026', '/027',        '/030', '/031', '/032', '/033', '/034', '/035', '/036', '/037',        '/040', '/041', '/042', '/043', '/044', '/045', '/046', '/047',        '/050', '/051', '/052', '/053', '/054', '/055', '/056', '/057',        '/060', '/061', '/062', '/063', '/064', '/065', '/066', '/067',        '/070', '/071', '/072', '/073', '/074', '/075', '/076', '/077',        '/100', '/141', '/142', '/143', '/144', '/145', '/146', '/147',        '/150', '/151', '/152', '/153', '/154', '/155', '/156', '/157',        '/160', '/161', '/162', '/163', '/164', '/165', '/166', '/167',        '/170', '/171', '/172', '/133', '/134', '/135', '/136', '/137',        '/140', '/141', '/142', '/143', '/144', '/145', '/146', '/147',        '/150', '/151', '/152', '/153', '/154', '/155', '/156', '/157',        '/160', '/161', '/162', '/163', '/164', '/165', '/166', '/167',        '/170', '/171', '/172', '/173', '/174', '/175', '/176', '/177',        '/200', '/201', '/202', '/203', '/204', '/205', '/206', '/207',        '/210', '/211', '/212', '/213', '/214', '/215', '/216', '/217',        '/220', '/221', '/222', '/223', '/224', '/225', '/226', '/227',        '/230', '/231', '/232', '/233', '/234', '/235', '/236', '/237',        '/240', '/241', '/242', '/243', '/244', '/245', '/246', '/247',        '/250', '/251', '/252', '/253', '/254', '/255', '/256', '/257',        '/260', '/261', '/262', '/263', '/264', '/265', '/266', '/267',        '/270', '/271', '/272', '/273', '/274', '/275', '/276', '/277',        '/300', '/341', '/342', '/343', '/344', '/345', '/346', '/347',        '/350', '/351', '/352', '/353', '/354', '/355', '/356', '/357',        '/360', '/361', '/362', '/363', '/364', '/365', '/366', '/367',        '/370', '/371', '/372', '/333', '/334', '/335', '/336', '/337',        '/340', '/341', '/342', '/343', '/344', '/345', '/346', '/347',        '/350', '/351', '/352', '/353', '/354', '/355', '/356', '/357',        '/360', '/361', '/362', '/363', '/364', '/365', '/366', '/367',        '/370', '/371', '/372', '/373', '/374', '/375', '/376', '/377',};int strncasecmp(const char *s1, const char *s2, register size_t n){    register unsigned char u1, u2;    for (; n != 0; --n)     {        u1 = (unsigned char) *s1++;        u2 = (unsigned char) *s2++;        if (charmap[u1] != charmap[u2])         {            return charmap[u1] - charmap[u2];        }        if (u1 == '/0')         {            return 0;        }    }    return 0;}

這里的charmap數組下標是對應了ASCII的十進制值,數組值則對應了ASCII的八進制值,同時只要注意到從/141開始會有重復,沒錯,就是A-Z去重復a-z的八進制值。這樣就可以忽略大小寫進行比較了。這個代碼的實現是取自linux的strncasecmp.c文件。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 和平县| 穆棱市| 临武县| 都昌县| 石首市| 宜城市| 遂宁市| 湘西| 安平县| 凌源市| 苏尼特左旗| 两当县| 垫江县| 凌云县| 大英县| 乌兰浩特市| 安溪县| 杂多县| 南阳市| 前郭尔| 繁昌县| 石家庄市| 明光市| 通渭县| 崇左市| 漯河市| 桦南县| 互助| 壶关县| 辽宁省| 方山县| 河西区| 正安县| 汝阳县| 连江县| 泽库县| 稷山县| 农安县| 乌什县| 桂东县| 呼伦贝尔市|