C語言,字串的處理,陣列字串,指標字串。

2021-10-25 10:55:16 字數 1150 閱讀 2190

c語言菜鳥教程

void *memset(void *str, int c, size_t n)

複製字元 c(乙個無符號字元)到引數 str 所指向的字串的前 n 個字元。

size_t strlen(const char *str)

計算字串 str 的長度,直到空結束字元,但不包括空結束字元。

char *strncpy(char *dest, const char *src, size_t n)

把 src 所指向的字串複製到 dest,最多複製 n 個字元。

char *strstr(const char *haystack, const char *needle)

在字串 haystack 中查詢第一次出現字串 needle(不包含空結束字元)的位置。

char *strtok(char *str, const char *delim)

分解字串 str 為一組字串,delim 為分隔符。

strcat(dest, src)

在dest後面,追加字串src/新增/增加

double atof(const char *str)

把引數 str 所指向的字串轉換為乙個浮點數(型別為 double 型)。

void *malloc(size_t size)

例如 char *str; str = (char *) malloc(15); 分配15個位元組的記憶體並把首位址給str指標

字串是常量例如不能讓"qwer"等於"asdf"。

#include

#include

intmain()

/*

常用的定義字串的方法有兩種,陣列定義和指標定義他們都是正確的,都可以用printf()列印出來

但是p1這個陣列字串是可以為左值的,就是p1字串的值是可以改變的;

strcpy(p1,p2); //這樣寫沒任何問題,執行之後p1的值等於"qwe", 這就是p1可以為左值

strcpy(p2,p3); //這樣寫就會報錯,p2這種方法定義的是指標字串即字串常量,這種字串的結尾"\0"是不能改變的

做左值的字串必須有足夠大的空間p1就是有10個位元組,所以效果要執行strcpy(p2,p3);需要先給p2申請足夠打的空間

C語言的字元陣列,字串,字串常量

首先來看一段源 include int main 剩餘部分為 0 char brr 不是字串,因為沒有 0 char crr 10 字元陣列特有 char drr 10 abc 字元陣列特有 char err abc 字元陣列特有 char frr 10 printf s n arr printf ...

C語言字串處理

字串 char str 20 char str1 5 str1 1 x str1 3 y int i 0 for i 0 i 5 i char str2 0表示字串結束 printf s str2 定義大小時,要比實際大1.存放 0 與字串相關的函式 需要匯入標頭檔案 include char st...

字串處理(c語言)

提交 統計 提問 題目描述 讀入兩個字串,字串除了數字還可能包括 e e 相加之後輸出結果,如果是浮點型,要求用科學計數法表示 最多包含10個有效數字 輸入描述 輸入包含多組測試資料。每組輸入佔兩行,每行乙個字串,測試資料保證字串的構成嚴格按照題目中的描述。輸出描述 輸出兩個數字相加的結果,每組輸出...