strcpy是C++語言的一個標準函數,strcpy把含有''結束符的字符串復制到另一個地址空間。
strcpy,即string copy(字符串復制)的縮寫。strcpy是C++語言的一個標準函數,strcpy把含有''結束符的字符串復制到另一個地址空間,返回值的類型為char*。strcpy,計算機語言函數,是C語言的函數之一,來自C語言標準庫,定義于string.h,它可以復制以null為退出字符的存儲器區塊到另一個存儲器區塊內。
由于字符串在C語言不是首要的數據型態,而是以實現的方式來替代,在存儲器內以連續的字節區塊組成,strcpy可以有效復制兩個配置在存儲器以指針回傳的字符串(字符指針或是字符串指針)。
Strcpy函數的安全編碼
在編程時,加入錯誤檢查,就可及時發現錯誤,并且對出現的異常進行處理。在編寫strcpy函數時,首先盡量使目的緩沖區長度足夠長,另外要檢測目的緩沖區和源緩沖區。如果目的緩沖區或源緩沖區是空,就要在異常處理中結束程序。如果,源字符串比目的緩沖區長度不長,也要在異常處理中結束程序,以防止出現溢出情況。
任何程序都很難說是絕對安全,只能以盡可能安全的方式來處理strcpy函數。只要輸入的字符串不以空字符結束,函數就會隨時終止。這種檢測容易實現。但是這樣的檢測也并不能確定函數一定安全。另外,每添加一個錯誤檢查,就會使程序更復雜,而且可能產生很多的bug,增加很多的工作量。