星期一, 4月 02, 2007

vc++ strncpy_s

char buf[10];
const char* source = "0123456789abc";

//strncpy_s(buf, 10, source, 10); // 執行時會發生錯誤,因為Buffer 10太小,應該要有11才能夠放下之後的null

//strncpy_s(buf, 11, source, 10); // 會發生runtime check failure,因為已經11超過buf的大小10

strncpy_s(buf, 10, source, 9); // 012345678 會正確填入