私はこの機能を使用すると面白い問題があります。 私は次のようにそれを使用する:sprintf_s problem
int nSeq = 1;
char cBuf[8];
int j = sprintf_s(cBuf, sizeof(cBuf), "%08d", nSeq);
そして、私は例外を取得するたびに。例外はbuffer to smallです。 関数の2番目のフィールドをsizeof(cBuf)+ 1に変更したとき
8バイトをコピーしたいだけで、8バイトの配列を持っているのであれば、なぜ追加する必要がありますか?
バッファのサイズを1ずつ増やす必要がありますか? –
はい。 1は正確にヌルターミネータのサイズです。私のコードでは、この余分な文字の場所が必要であるという事実を強調するために、文字通り 'char cBuf [8 + 1]'と書いています。 – xtofl
'char [sizeof(" 00000000 ")]'を使用しました。 – MSalters