回覆列表
  • 1 # fksle43010

    假如有char *p且p已指向一含有10個元素的字元陣列,現有目標陣列char b[10],則可以有三種函式可以實現字串複製。 1、strcpy語法格式: strcpy(目標地址,源地址)此例語法:strcpy(b,p);將源地址後的字元逐一複製到目標地址中,直到遇到結束符,如果源串中不含結束符就會造成目標陣列越界。2、strncpy語法格式:strncpy(目標地址,源地址,字元長度)此例語法:strncpy(b,p,10);將源地址開始前n個(指定字元長度)字元逐一複製到目標地址中,不檢測結束符也不檢測邊界,當指定長度大於目標陣列長度則會越界。3、memcpy語法格式:memcpy(目標地址,源地址,位元組長度)此例語法:memcpy(b,p,sizeof(char)*10);記憶體資料塊複製,執行效率最高的一個。將源地址開始前n個(指定字元長度*字元的資料寬度)位元組的內容復逐一複製到目標地址中,無視陣列元素型別,只按位元組複製,不檢測陣列邊界,當指定長度大於目標陣列長度則會越界。這裡需要注意的是陣列長度必須透過給定的元素型別獲得資料寬度(sizeof(char))然後計算出實際的記憶體大小。

  • 中秋節和大豐收的關聯?
  • 簡述8051微控制器p3口的兩種功能?