風で飛んでいくチラ裏

気ままに雑記メモ書き殴り。古い記事は別blogからの引っ越しなのでレイアウトがアレです。

strncmp

int strncmp(const char *s1, const char *s2, size_t len) s1とs2をlen分比較し、その結果を返す。 s1 > s2 なら正、 s1 = s2 なら0、 s1 < s2 なら負の値。 0以外の場合の絶対値は実装依存。 大体は違いがあった文字の差が返る。 s1 = "1003"; s2 = "1000"; だと、 strncmp(s1, s2, strlen(s2)); は 3 であることが多い。 (unsigned)で計算しているかどうかは微妙。 0x20から0x7Fの範囲のみで構成された 文字列で比較すると色々安全かも。 細かく疑問なこと ・ヌルチェックはs1, s2両方でやってる?(lenは普通s2の長さ以上は入れないはずだから、s2のヌルチェックはしない?)
広告を非表示にする
(function(document){ var pres = document.getElementsByTagName("pre") for(var i=pres.length; i--; ){  var el = makeOl(pres[i]) pres[i].appendChild(el) } function makeOl(pre){ var ol = document.createElement("ol") , li = document.createElement("li") , df = document.createDocumentFragment() , br = pre.innerHTML.match(/\n/g) ol.className = "preLine" ol.setAttribute("role", "presentation") for(var i=br.length; i--; ){ var li2 = li.cloneNode(true) df.appendChild(li2) } ol.appendChild(df) return ol } })(document)