1,strlen
①計數法
unsigned int my_strlen1(const char *str)
return count;
}
②遞迴法
unsigned int my_strlen2(const char *str)
③首尾相減法
unsigned int my_strlen3(const char *str)
2,strcpy
dest字串要有足夠的空間,src複製包括'\0'在內的字串到dest中。
char *my_strcpy(char *dest,const char *src)
3,strncpy
src複製len個字串到dest中,len如果比src長,則繼續複製'\0'。len比src小時,複製len個,最後並新增'\0'。原strncpy最後沒有新增'\0'。
char *my_strncpy(char *dest,const char *src,unsigned int len)
*dest='\0';/*確保dest後有'\0',strncpy 沒有這步,但是如果dest位置全部用完也沒辦法*/
return tmp;
}
4,strcat
先遍歷dest到'\0'位置,然後進行複製
char *my_strcat(char *dest,const char *src)
5,strncat
len就算比src的長度長 也不會像stcncpy繼續新增'\0',而是src遇到'\0' 就結束
char *my_strncat(char *dest,const char *src,unsigned int len)
6,strcmp
int my_strcmp(const char *str1,const char *str2)
return *str1-*str2;
}
7,strncmp
int my_strncmp(const char *str1,const char *str2,unsigned int len)
str1++;
str2++;
} return 0;
}
8,strchr
在乙個字串中查詢乙個字元第一次出現的位置,如果沒有則返回null
char *my_strchr(const char *str,char ch)
return null;
}
9,strrchr
查詢乙個字元在字串最後出現的位置,沒有則返回null
char *my_strrchr(const char *str,char ch)
tmp++;
} return ptr;
}
10,strstr
在str1找第一次出現str2的起始位置,如果沒有則返回null,str2為空字串則返回str1
char *my_strstr(const char *str1,const char *str2)
while(*str1)
if(*str2=='\0')
cur++;
str1=cur;
str2=tmp;
} return null;
}
11,atoi
字串轉換為int型整數,字串前面允許有若干空格,和+,-號。符號位後面必須是數字字元才算有效,如果遇到非法字元,則停止轉換,返回前面轉換好的數字。
需要考慮的問題:
指標是否為null
字串是否為空串:空串為0
空白字元
正負號問題
溢位問題
異常字元處理
一些情況
" 1234" ->1234
" +1234" ->1234
" -1234" ->-1234
"-123 4" ->-123
"a1234" ->0
"+ 1234" ->0
"" ->0
int my_atoi(const char *str)
if(*tmp=='-')
else if(*tmp=='+')
while(*tmp)
if(num<0)
buf[i++]='\0';//開始把第乙個字元設為'\0'
while(num)
if(flag==1)
else//把倒序的字串翻轉
while(j13,memset
void* my_memset(void *src,int ch,int n)
return ret;
}
14,memcpy(不能正確處理有重複,且src在dest前的情況)
void* my_memcpy(void *dest,void *src,int n)
return ret;
}
15,memmove(利用處理上述情況)
void* my_memmove(void* dest,void* src,int n)
} else }
return ret;
}
常見字串函式的原型!!!
1 strcat 將指標指向的字串放到目的字串後 cpp char strcat char strdest,const char strscr 將源字串加const,表明其為輸入引數 向該字串的結束標誌 0 while strdest strscr 是while strdest strscr 0 的...
Python常見字串方法函式
1 大小寫轉換 s.lower s.upper 前者將s字串中所有大寫字母轉為小寫,後者相反 s.title s.capitalize 前者返回s字串中所有單詞首字母大寫且其他字母小寫的格式,後者返回首字母大寫 其他字母全部小寫的新字串。s.swapcase 將s字串中所有字母做大小置換,大寫變小寫...
常見字串類
string 不可變字串,底層使用的是字元陣列儲存的字串 private final char value stringbuffer 可變字串,繼承自abstractorbuilder,可變長,底層也是字串陣列 private char value stringbuilder 可變字串,繼承自abs...