うーーんVBにあるSplit()関数に似たような関数がCにないみたいなので作ってみたっす。& 落ちスレ記念でルーチン投稿っす。
ところで、夜は遅く朝はハウスクリーニングのおばちゃんの掃除機の音に起こされるプログラマーの方に聞きたいっす。
ヒゲソリは週に何回していますか? 自分は、二日に一度の割合です。スレ違いな質問スマソんっす。
ERROR処理省いてるッス 隣のヘッダ宣言が必要っす ---> #include "stdio.h" "string.h" "stdlib.h" "locale.h"

typedef struct{ char **Adress; size_t FullCount; } CSPLIT;

void freecit( CSPLIT *CIT )
{
    int tmpCnt = CIT->FullCount;

    for( tmpCnt--; tmpCnt > -1; tmpCnt-- )
        free( *(CIT->Adress + tmpCnt) );
    free( CIT->Adress );
}

char *makecit( const char *rec, size_t *i, size_t *s, size_t kleng, CSPLIT *CIT )
{
    CIT->Adress = (char **)realloc(CIT->Adress, sizeof(char *)*(CIT->FullCount+1));
    *(CIT->Adress + CIT->FullCount) = (char *)malloc(sizeof(char *)*(*i-*s)+1);
    memcpy( *(CIT->Adress + CIT->FullCount), rec+*s, *i-*s );
    *(*(CIT->Adress + CIT->FullCount++) + *i-*s) = '\0';
    *s = *i += kleng;
    return (*(CIT->Adress+CIT->FullCount-1));
}