char buff[256];buff[0]='\0'
sprintf(buff,"%s","こんabcにdefgちはhi");
と定義された文字列があるとして、これを
char ln[256][256];
という文字配列に、nバイト以下ずつぎりぎりまで
詰め込んでいきたいのですがどうすればいいでしょうか。
例えば4バイトずつ詰め込むとしたら、
 :
 :
ln[5]'\0'
ln[4]こん'\0'
ln[3]abc'\0'
ln[2]にde'\0'
ln[1]ちは'\0'
ln[0]hi'\0'
という風になるようにしたいです。

まずln[0]に詰め込んでいき、4バイト分の「こん」まで入れたところで
まだbuffは続きがあるのでln[0]はln[1]に繰り上げます。
こんどはln[0]にabc・・と入れていき、「に」も入れたいところですが
2バイトなので次に持ち越すことにして、また繰り上げ、、、
というようにbuffを全部詰め込むまで続けたいです。