strcatは、ある文字列にある文字列を連結する (concatenate) 関数である。標準Cライブラリの文字列操作関数群 (codice_1) で定義されている。s2が指す文字列を、s1が指す配列の最後に連結する。戻り値は、s1の値である。また、コピー先とコピー元が重なる場合の動作は未定義とする。strcatは、先程示した実装例を見ても分かる通り、s1の容量に就いては一切関知しない。よって、s1の指す配列の範囲を越えて、s2が書き込まれてしまう恐れがある。これによって、メモリ破壊を引き起こしたり、プログラムがクラッシュしてしまうことがある。バッファオーバーランを防ぐ方法の1つとして、字数制限付き文字列連結関数であるstrncatを使う例を示す。上の例は、冗長ではあるが、バッファオーバーランを確実に防ぐことができる。sizeof(s) で配列の要素数を求め、そこから現在のsの文字数を比較することによって、配列の空きの容量を超えた書き込みを防ぐことができる。strncatはバッファオーバーランを防ぐ目的で使うには複雑なので、標準ライブラリの一部ではないがstrlcatやstrcat_sを使用することを検討するとよい。
出典:wikipedia
LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。