c語言中沒有字串型別,字串是以nul結尾的字元陣列組成的。
高階字串查詢:
//計算字串起始部分,有多少字元是在group中示例:size_t strspn(char const * str, char const *group);
//不在group中
size_t strcspn(char const * str, char const *group);
#include #include int main()輸出6 和 1
//sepstrtok的第乙個引數不是null,函式將查詢到字串中的第乙個標記。strtok同時儲存它在字串中的位置,如果第乙個引數是null,函式就在同乙個字串中儲存的位置開始像前面一樣查詢下乙個標記,如果沒有更多標記返回null,否則返回字串指標。strtok會修改字串。char * strpok(char * str, char const *sep);
示例:#include #include int main()
; char str2[strlen(str1)];
strcpy(str2, str1);
char *token;
char sep[2] = "g";
for(token = strtok(str2, sep); token != null; token = strtok(null, sep))
printf("\n");
printf("str1 %s\n", str1);
printf("str2 %s\n", str2);
return 0;
}
記憶體操作函式:
由於字串是\0字元結尾的,如果字串內有nul那麼就需要使用記憶體操作函式。
//從src開始的位置拷貝length個位元組到dst記憶體起始位置函式中引數型別都是void *,任何型別都可以轉換成void *.void *memcpy(void *dst, void const *src, size_t length);
//memmove和memcpy差不多,源和目的地可以重疊,memmove先把源拷貝到臨時位置,然後再拷貝回來
void *memmove(void *dst, void const *src, size_t length);
//memcmp,和memchr分別是比較和查詢
void *memcmp(void *dst, void const *src, size_t length);
void *memchr(void *dst, void const *src, size_t length);
//memset將從src開始的length個字元設定成ch
void *memset(void *src, int ch, size_t length);
#include #include int main()執行結果:
第九章 字串,字元和位元組
1.nul位元組是字串終止符,但它本身並不是字串的一部分,所以字串的長度並不包括nul位元組。2.size t這個型別是在標頭檔案stddef.h中定義的,返回長度。3.連線字串 strcat strcpy message,hello strcat message,customer name str...
第九章 Lua字串
1.lua 語言中字串可以使用以下三種方式來表示 string1 lua string2 runoob.com string3 lua 教程 2.字串轉義符 a b f n r t v 0 ddd xhh 3.字串操作方法 string.upper string 轉為大寫字母。string.lowe...
c 基礎 (第九章)
結構體型別說明 struct 結構體識別符號 成員變數列表 如果沒有結構體識別符號,則稱為無名結構體型別 引用結構體變數成員 l 結構體變數名.成員名 l 結構體指標名 成員名 l 結構體指標名 成員名 共用體共用體所有變數共用一塊記憶體 定義格式如下 union 共用體識別符號 成員變數列表 列舉...