>#define N 100 // <---文字列サイズ+1が100を超える場合は、ここを増やす。
>int main()
>{ char buf[N], oldbuf[N];

へぼ
一行のサイズを固定してやがる
上限なしにできないのか?

出直して来い