2006/06/24
memccpy() で文字列をコピーする
いやなブログ: memccpy() で文字列をコピーする
memcpy() ではなくて、memccpy()。src から dest に最大 nバイトコピーするのは memcpy と一緒だが、nバイトコピーする前に文字 c が見つかると、そこでコピーを中止する、というところが異なる。エントリーには 4.3 BSD から登場と書かれているが、手元の man では 4.4 BSD から採用されたと書いてある。
\n を見つけたら処理を中断したい、行単位の処理に便利なのは想像の範囲内だが、このエントリーでは c を \0 に指定して「文字列を安全にコピーする最も簡便な方法」と説く。ふむ、なるほど...。
memcpy() ではなくて、memccpy()。src から dest に最大 nバイトコピーするのは memcpy と一緒だが、nバイトコピーする前に文字 c が見つかると、そこでコピーを中止する、というところが異なる。エントリーには 4.3 BSD から登場と書かれているが、手元の man では 4.4 BSD から採用されたと書いてある。
\n を見つけたら処理を中断したい、行単位の処理に便利なのは想像の範囲内だが、このエントリーでは c を \0 に指定して「文字列を安全にコピーする最も簡便な方法」と説く。ふむ、なるほど...。