memmoveで「0バイトをコピー」とかどうなんのかと思ったけど、コピーそのものが発生しないっぽい。
標準Cライブラリの実装 memmove関数
データをSTX直前まで読み飛ばして前に詰める、とかこう書いちゃってもいけそう。
for( i=0; p[i]!=STX && i<len; i++ ); len -= i; memmove( p, p+i, len );
memmoveで「0バイトをコピー」とかどうなんのかと思ったけど、コピーそのものが発生しないっぽい。
標準Cライブラリの実装 memmove関数
データをSTX直前まで読み飛ばして前に詰める、とかこう書いちゃってもいけそう。
for( i=0; p[i]!=STX && i<len; i++ ); len -= i; memmove( p, p+i, len );