C語言中字符串常用函數strcat與strcpy的用法
C語言有豐富的數據結構和運算符。包含了各種數據結構,如整型、數組類型、指針類型和聯合類型等,用來實現各種數據結構的運算。以下是小編為大家搜索整理的C語言中字符串常用函數strcat與strcpy的用法,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!
strcpy原型聲明:extern char *strcpy(char* dest, const char *src);
頭文件:#include
功能:把從src地址開始且含有NULL結束符的字符串複製到以dest開始的地址空間
説明:src和dest所指內存區域不可以重疊且dest必須有足夠的空間來容納src的字符串。
返回指向dest的指針。
函數實現:
複製代碼 代碼如下:
/**********************
* C語言標準庫函數strcpy的一種典型的'工業級的最簡實現
* 返回值:目標串的地址。
* 對於出現異常的情況ANSI-C99標準並未定義,故由實現者決定返回值,通常為NULL。
* 參數:
* strDestination 目標串
* strSource 源串
***********************/
char *strcpy(char *strDestination,const char *strSource)
{
assert(strDestination!=NULL && strSource!=NULL);
char *strD=strDestination;
while ((*strD++=*strSource++)!='');
return strDestination;
}
/*
GNU-C中的實現(節選):
*/
char* strcpy(char *d, const char *s)
{
char *r=d;
while((*d++=*s++));
return r;
}
/* while((*d++=*s++)); 的解釋:兩層括號是為了取賦值表達式的值,
而賦值表達式的值為左操作數,所以在複製NULL後,循環停止 */
strcat原型
extern char *strcat(char *dest,char *src);
用法
#include
在C++中,則存在於頭文件中。
功能
把src所指字符串添加到dest結尾處(覆蓋dest結尾處的'')並添加''。
説明
src和dest所指內存區域不可以重疊且dest必須有足夠的空間來容納src的字符串。
返回指向dest的指針。
函數實現:
複製代碼 代碼如下:
//將源字符串加const,表明其為輸入參數
char *strcat(char *strDest, const char *strSrc)
{
// 後文return address,故不能放在assert斷言之後聲明address
char *address = strDest;
assert((strDest != NULL) && (strSrc != NULL)); //對源地址和目的地址加非0斷言
while(*strDest) //是while(*strDest!='')的簡化形式
{
//若使用while(*strDest++),則會出錯,因為循環結束後strDest還會執行一次++,
//那麼strDest將指向''的下一個位置。/所以要在循環體內++;因為要是*strDest最後指
//向該字符串的結束標誌''。
strDest++;
}
while(*strDest++ = *strSrc++)
{
NULL; //該循環條件內可以用++,
} //此處可以加語句*strDest='';無必要
return address; //為了實現鏈式操作,將目的地址返回
}
-
嵌入式C語言編程小知識
嵌入式系統是用來控制或者監視機器、裝置、工廠等大規模設備的系統。下面為大家整理了一些嵌入式C語言編程小知識,一起來看看吧!1.流水線被指令填滿時才能發揮最大效能即每時鐘週期完成一條指令的執行(僅指單週期指令)。如果程序發生跳轉,流水線會被清空,這將需要...
-
C語言編程中的聯合體union入門學習教程詳解
聯合體(union)在C語言中是一個特殊的數據類型,能夠存儲不同類型的數據在同一個內存位置。可以定義一個聯合體使用許多成員,但只有一個部件可以包含在任何時候給定的值。聯合體會提供使用相同的存儲器位置供多用途的有效方式。定義聯合體要定義聯合體,必須使用unio...
-
C語言中文件操作詳解及實例代碼
在文件操作中除了打開操作以及讀寫操作,還有幾種比較常見的操作。以下是本站小編搜索整理的關於這些操作中涉及到的函數,,需要的朋友可以參考本文!想了解更多相關信息請持續關注我們應屆畢業生考試網!一.移動位置指針的函數rewind函數和fseek函數,這兩個函數的原...
-
C++中四種加密算法之DES源代碼
DES算法是一種最通用的對稱密鑰算法,因為算法本身是公開的,所以其安全性在於密鑰的安全性。基於密鑰的算法通常有兩類:對稱算法和公開密鑰算法。對稱算法的對稱性體現在加密密鑰能夠從解密密鑰推算出來,反之亦然。下面梳理了C++中四種加密算法之DES源代碼,供大家參...
相關文章
- PHP中strnatcmp()函數“自然排序算法”進行字符串比較用法分析
- JavaScript中常見的字符串操作函數及用法
- javascript中的match函數用法簡介
- C++中const-cast與reinterpret-cast運算符的用法
- C語言的strcpy()和strncpy()函數
- javascript字符串對象常用api函數小結
- php字符串替換函數str-replace速度比preg-replace快
- 關於JavaScript中isPrototypeOf函數作用和使用實例
- JavaScript中的style.cssText使用教程分解
- 有關PHP字符串比較函數strcmp()和strcasecmp()使用總結