C言語なら俺に聞け(入門編)Part 94
■ このスレッドは過去ログ倉庫に格納されています
0620デフォルトの名無しさん
2012/01/06(金) 10:01:35.06「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));
■ このスレッドは過去ログ倉庫に格納されています