6 2 請編寫乙個函式,刪除乙個字串的一部分。

2021-07-09 10:35:33 字數 1319 閱讀 6262

/*

**要求:a.不能使用任何用於操縱字串的庫函式  b.不能使用任何下表引用

****例如:str == "abcdefg",如果substr == "cde",那麼刪除子串後為abfg 返回1

**如果substr == "dexyz"則不刪除任何字元,返回0

*//*函式原型*/

int del_substr(char *str, char const *substr);

這題目我感覺好難,仔細看了題目,首先確定思路,首先就是要判斷是否是子串,如果不是就直接返回0,如果是就要進一步處理,分析,刪除子串。以下是我的**:

#if 1

#include

char b[100];

size_t str_len(  char const *str);

int del_substr(char *str,char const *substr);

void main()

if(num_char==len_substr)  //是子串,處理刪減,並返回1}}

return 0;

}size_t str_len(  char const *str)

return length;

}#endif

#if 0

#include

void main()

return nlen;

}// 返回src中子串substr開始的字元指標,找不到返回null

char * _findstr( char *src, const char *substr)

const char *p1 = src;

char *pbegin = src;

const char *p2 = substr;

bool bflag = false;

while (*p1 && mystrlen(p1) >= nsubstrlen && *p2)

else

}if (bflag)

return null;

}int del_substr( char *str ,const char *substr)

char *pfind = _findstr(str,substr);

bool bflag = false;

while (pfind) // 迴圈處理,以便刪除後續再次出現的子串

*pfind = 0;

pfind = _findstr(str,substr);

}if (bflag)

return 0;

}int main()

return 0;

}

乙個字元驅動

實現乙個基本框架 define notice fmt,args.printk kern notice scull fmt,args define error fmt,args.printk kern err scull fmt,args static init int scull init void...

編寫乙個字串處理函式 練習

字串1 swift nslayoutconstraint 字串2 tfiws tniartsnoctuoyalsn 按上邊字串1轉換到字串2 的規律,編寫乙個字串處理函式。方法1 header content type text html charset utf8 str swift nslayou...

c c ,輸入乙個字元

getch getche 和getchar 函式 1 getch 和getche 函式 這兩個函式都是從鍵盤上讀入乙個字元。其呼叫格式為 getch getche 兩者的區別是 getch 函式不將讀入的字元回顯在顯示螢幕上,而getche 函式卻將讀入的字元回顯到顯示螢幕上。例1 include ...