_itoa_s出错的问题

示例代码:

int i=123456;

char tracebuff[7]={0};

_itoa_s(i,tracebuff,6,10);

上述代码是我项目中相关代码出错的一个示例,出错的主要原因是数据长度的问题。

正确的代码为:

_itoa_s(i,tracebuff,6+1,10);

数据长度应该包括'/0'。

_itoa_s的用法:

_itoa_s 函数原型如下:

 errno_t _itoa_s(

   int value,

   char *buffer,

   size_t sizeInCharacters,  //存放结果的字符数组长度

   int radix

);


你可能感兴趣的:(_itoa_s出错的问题)