>961の補足

strncpy()は末尾に\0をつけないことがあるので現在では好まれない
strncat()で文字列を他の文字列(たとえばsrcとする)から所定の長さまでコピーするには、

data[0] = '\0';
strncat(data, src, 99);  /* 100文字目は\0だから */

のようにする

ファイルや標準入力から文字列を直接読む場合には、fgets()を使うこと
ただし、たいてい末尾に\nがくっついていることを忘れないように

なお、gets()は 絶 対 に 使ってはいけない