| 在 字串(字
元陣
列) 中說過,在C語言中,字串是一個字元陣列,最後一個字元以空字元'\0'作結尾,若要得知字串所含字元長度(不包括空字元),則可以使用strlen()函式: size_t strlen(const char*);
size_t是unsigned型態,在大部份系統是定義為unsigned int,但在64位元系統中可以是unsigned long。strlen()會傳回字元陣列中第一個字元至空字元間的長度值: #include <stdio.h> 字串相關處理函式是定義在string.h中,所以要將之include,執行結果如下:
如果要進行字串複製,可以使用strcpy()函式,若要複製字串中若干字元內容,則可以使用strncpy(): char* strcpy(char*, const char*);
char* strncpy(char*, const char*, size_t); 第一個參數是目的字元陣列,第二個參數是來源字串,strncpy()第三個參數則是要複製的字元長度,要注意的是,strncpy()不會自動在目的陣列加上空字元,它只是單純的複製指定長度的字元,以下的範例示範strcpy()與strncpy(): #include <stdio.h> 在這個範例中,想要在使用strncpy()後可以將目的字串陣列當作字串來使用,所以使用memset()函式將所有字元重設為空字元,一個執行的範例如下所示:
若要串接兩個字串,則要使用strcat(),若要串接部份字串,則可以使用strncat(): char* strcat(char*, const char*);
char* strncat(char*, const char*, size_t); 第二個參數的字串會串接到第一個參數之後,所以第一個參數必須保留足夠的空間作為串接時使用,以下範例示範這兩個函式的使用: #include <stdio.h> 執行結果如下:
|