#include "MyGame.h"
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <iostream>

int MyGame::totalparticipants = 0;
int main(){

   //char src[] = "1234567890";
   //char src[] = "12345";
   char src[] = "1234";
   int len = strlen(src); //4
   char dst[5];
   int dlen = _countof(dst); //5
   errno_t err = strncpy_s(dst, _countof(dst), src, _TRUNCATE);
   if ( err == STRUNCATE ) {
      std::cout << "truncation occurred!\n" ;
   } else {
       std::cout << "haha";
   }
}

当src里面元素个数 + 1=strncpy_s 参数二大小时,不发生截断
当src里面元素个数>=strncpy_s 参数二大小时,发生截断

即://char src[] = "1234567890";
  
//char src[] = "12345";

这两种情况都发生截断。


  
char src[] = "1234";

时不发生截断

posted on 2013-07-09 19:42  snowdrop  阅读(469)  评论(0编辑  收藏  举报