>>126
char str[100] = "";
で初期化されない?

>>127
memset(s+n, '\0', 1);とか書いてるんだろうか?
だったらs[n]='\0'で十分なのだが・・・。