C語言strcpy,strncpy的用法

2021-07-05 10:02:49 字數 665 閱讀 6702

在c語言中,字串複製函式有strcpy和strncpy,那麼這兩個函式有什麼區別呢,下面將詳細介紹。

1. strcpy函式: 字串複製函式。格式:char *strcpy(char *str1,char *str2); 功能將str2指向的字串連同字串結束符完全複製到str1中。

strcpy(str1,"hello world");

strcpy(str2,str1);

str1="hello world";  注意這是不允許。

strcpy要求str1有足夠的記憶體空間,否則在複製字串str2時會溢位,越界。

2.strncpy函式:用於複製字串的n個字元。格式 char *strncpy(char *str1,char *str2,n); 功能是將源字串指標str2的前n個字元複製到目標字串指標str1中。

說明:strncpy不像strcpy那樣將字串結束符『\0'也複製過去,因此在複製結束之後需要自己新增 str1[n]='\0'; 兩個字串所指記憶體區域不可以重疊,但是必須有足夠的

空間存放n個字元。

利用strncpy代替strcpy來防止緩衝區越界。

char str1[8];

strncpy(str1,"abcdefgh",8);

str1將會被 "abcdefgh」填滿,但是沒有字串結束符。

C語言 C語言組成

c語言由多個 c 檔案和 件組成 c c語言源 檔案 h c語言標頭檔案 c檔案 組成 1 標頭檔案 include include student.h 包括起來的是系統的標頭檔案 包含起來的是自己定義的檔案 2 巨集定義 define a.不帶引數的巨集 define 巨集名 替換的內容 defi...

從C語言到C 語言

c 讀作 c加加 是 c plus plus 的簡稱。顧名思義,c 是在c語言 的基礎上增加新特性。從語法上看,c語言是 c 的一部分,c語言 幾乎不用修改就能夠以 c 的方式編譯。對於c和c 的關係,有很多種說法,新人很容易認為c 是c的公升級版,c 比c要高階,c 高大上,c過時了,這種想法不一...

C語言 C語言之continue

c語言迴圈 c 語言中的continue語句有點像break語句。但它不是跳出該迴圈語句,continue是跳過本次迴圈直接開始下一次迴圈的。在for迴圈裡,continue會跳過本次迴圈,但是自增語句仍然會執行,而在while和do while語句裡嘖是跳過迴圈重新執行判斷語句 課堂作業內容為 輸...