C語言strncpy 函式

2021-10-13 15:21:06 字數 846 閱讀 8580

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函式來完成這個函式的功能。在該函式的拷貝中,可以根據你的需要拷貝相應數量的字元,在字串的拷貝中,如果你想拷貝的字元數超過了所能拷貝的字...