sprintf_s问题

Bor*_*kov 8 c c++

我有一个使用此功能的有趣问题.我用它如下:

int nSeq = 1;
char cBuf[8];
int j = sprintf_s(cBuf, sizeof(cBuf), "%08d", nSeq);
Run Code Online (Sandbox Code Playgroud)

每次我得到一个例外.例外是缓冲到小.当我将函数中的第二个字段更改为sizeof(cBuf)+ 1时.

如果我只想复制8个字节并且我有一个包含8个字节的数组,为什么还需要添加一个?

xto*_*ofl 13

您的缓冲区包含8个位置.您的字符串包含8个字符一个空字符以关闭它.