>>619
「sizeofが終端記号を破壊する」のではない。
sizeof(monthfilename)で50が得られるが、本当にreplaceしたいのは”テスト(XXXX年XX月分)”
の部分だから、50ではなく”テスト(XXXX年XX月分)”の長さが必要。

X sprintf(monthfilename, "テスト(%c%c%c%c年%c%c月分)",
O sprintf(monthfilename, "テスト(%c%c%c%c年%c%c月分)¥n", /* <-strlenで長さを得られるようになる */

X strncpy(replace, monthfilename, sizeof(monthfilename));
O strncpy(replace, monthfilename, strlen(monthfilename));