close
由於 strncpy() 函數最初被設計為用來處理一種現在已經摒棄的舊式資料結構:
固定長度,不須以結尾字元 結束的字串。
所以 strncpy( ) 函數並不會自動幫你在目的字串加上結尾字元
因此最好養成習慣在呼叫 strncpy( ) 函數後,自己手動補上結尾字元。
否則等你發現是因為這個小細節導致程式執行有奇怪的異常狀況,往往是埋頭 debug 的時候了…
p.s. 或者可以自己改寫一個修正的函數如 strncpy_fix( )
--或是使用其它的方法如 strncat( ) 或 sprintf( ) 來想辦法達到相同的效果。
固定長度,不須以結尾字元 結束的字串。
所以 strncpy( ) 函數並不會自動幫你在目的字串加上結尾字元
因此最好養成習慣在呼叫 strncpy( ) 函數後,自己手動補上結尾字元。
否則等你發現是因為這個小細節導致程式執行有奇怪的異常狀況,往往是埋頭 debug 的時候了…
p.s. 或者可以自己改寫一個修正的函數如 strncpy_fix( )
--或是使用其它的方法如 strncat( ) 或 sprintf( ) 來想辦法達到相同的效果。
全站熱搜
留言列表