char *strncpy(char *dest, const char *src, size_t n)把src所指向的字串複製到dest,最多複製n個字元。當 src 的長度小於 n 時,dest 的剩餘部分將用空位元組填充。
下面是 strncpy() 函式的宣告。
char *strncpy(char *dest, const char *src, size_t n)
該函式返回最終複製的字串。
下面的例項演示了 strncpy() 函式的用法。
#include #include int main(void)
列印結果:
**分析:
1、在設定字元陣列長度的時候根據字元數計算,如果字元數的長度大於字元陣列的長度則編譯不能通過。
2、執行後的src的字元數大於dest的字元數,雖然編譯可以通過,但在執行的時候會導致緩衝區溢位的問題。
3、strncpy()函式設定要複製的字元數為2,所以只抽取了src2個字元數複製到he上面。
4、dest在遇到轉義字元\0即空字元後面便不再繼續輸出。如果轉義字元在開始定義的時候設定給src後面也是一樣不再繼續輸出
5、關於strncpy()函式複製這一說並不嚴謹,個人理解可以將其看作是覆蓋(overwrite)
以上就是strncpy()函式使用方式以及說明
C語言的strcpy 和strncpy 函式
strcpy 函式用來複製字串,其原型為 char strcpy char dest,const char src 引數 dest 為目標字串指標,src 為源字串指標。注意 src 和 dest 所指的記憶體區域不能重疊,且 dest 必須有足夠的空間放置 src 所包含的字串 包含結束符null...
C語言的strcpy 和strncpy 函式
strcpy 函式 strcpy 函式用來複製字串,其原型為 char strcpy char dest,const char src 引數 dest 為目標字串指標,src 為源字串指標。注意 src 和 dest 所指的記憶體區域不能重疊,且 dest 必須有足夠的空間放置 src 所包含的字串...
c語言模擬實現strncpy
在c語言中,為了實現字串的拷貝可以用到strcpy函式,而這個函式只能實現所有字元的拷貝,為了控制拷貝的字元數,則要用到strncpy函式。通過模擬實現strncpy函式來完成這個函式的功能。在該函式的拷貝中,可以根據你的需要拷貝相應數量的字元,在字串的拷貝中,如果你想拷貝的字元數超過了所能拷貝的字...