寫乙個函式,它從乙個字串中提取乙個子字串

2021-09-26 08:08:40 字數 1435 閱讀 5814

/*

寫乙個函式,它從乙個字串中提取乙個子字串,函式原型為:

int substr(char dst,char src,int start,int len);

任務是從src陣列起始位置向後偏移start個字元的位置開始,最多複製len個非nul字元到dst陣列,複製完畢後,dst陣列必須以nul位元組結尾

函式的返回值是儲存於dst陣列中的字串的長度.

如果start所指定的位置越過了src陣列的尾部,或者start或len的值為負值,那麼複製到dst陣列的是個空字串.

*/用陣列來寫乙個函式原型

if語句判斷條件

若乙個條件成立,為真,則執行if下的語句,為假,則不執行

若有多個條件,用邏輯運算子&&和||兩個符號來連線.

還有常用的 ! (非)判斷,如(!0),!=等.

計算字元陣列的長度

一般乙個字元陣列的儲存,在其末尾用'\0'來結尾,所以用src[i] = '\0'來判斷是否到達陣列的結尾.

迴圈語句的執行條件要設定準確,否則迴圈的執行會出現問題

**的實現

/*

寫乙個函式,它從乙個字串中提取乙個子字串,函式原型為:

int substr(char dst,char src,int start,int len);

任務是從src陣列起始位置向後偏移start個字元的位置開始,最多複製len個非nul字元到dst陣列,複製完畢後,dst陣列必須以nul位元組結尾

函式的返回值是儲存於dst陣列中的字串的長度.

如果start所指定的位置越過了src陣列的尾部,或者start或len的值為負值,那麼複製到dst陣列的是個空字串.

*/#define _crt_secure_no_warnings

#include int main(void)

printf("n = %d\n", n);

//判斷複製過程**現的問題,如果出現問題則終止程式

if ((start < 0) || (len < 0) || (start > n))

//複製陣列內容

for (int i = start-1;i < (start-1 + len);i++)

dst[k] = '\0';//複製完畢,目標陣列最後加上'\0'表示字元陣列結束

printf("src = %s\n", src);

printf("dst = %s\n", dst);

return 0;}/*

輸出結果

please input array:thisisacprogram

0the value of start:3

the value of len:5

n = 15

src = thisisacprogram

dst = isisa

*/

在乙個字串中尋找另外乙個字串

在乙個字串中尋找另外乙個字串 public class text foundit true break test system.out.println foundit?found it didn t find it 該段程式有點難以理解,主要就是if語句的理解,if searchme.charat ...

從乙個字串中獲取中文

中文的編碼方式與英文不同,編碼方式有utf 8 和gb2312是中國的編碼,中文佔兩個位元組,而unicode 是中英文全部佔兩個位元組。在計算機世界中,美國定義了0 255這256個數表示不同的狀態,0 127中有英文大小寫字母和數字等,128 255這128個狀態代表了下劃線 方框線等擴充套件字...

php判斷乙個字串包含另乙個字串

a 58252,58253 如果 a 中存在 b,則為 true 否則為 false。b 58253 if strpos a,b false else 查詢字串在陣列中出現的次數 array array 1,hello 1,world hello 11 計算 string在 array 需為陣列 中...