由於 strncpy() 函數最初被設計為用來處理一種現在已經摒棄的舊式資料結構:
固定長度,不須以結尾字元 結束的字串。

所以 strncpy( ) 函數並不會自動幫你在目的字串加上結尾字元
因此最好養成習慣在呼叫 strncpy( ) 函數後,自己手動補上結尾字元。

否則等你發現是因為這個小細節導致程式執行有奇怪的異常狀況,往往是埋頭 debug 的時候了…

p.s. 或者可以自己改寫一個修正的函數如 strncpy_fix( )
--或是使用其它的方法如 strncat( ) 或 sprintf( ) 來想辦法達到相同的效果。
文章標籤
全站熱搜
創作者介紹
創作者 matis 的頭像
matis

Never give up

matis 發表在 痞客邦 留言(0) 人氣(348)