在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語句裡嘖是跳過迴圈重新執行判斷語句 課堂作業內容為 輸...