在很多面試及筆試中,都會有字串的操作,有的甚至不允許使用c函式庫中的函式,所使用函式都需要自己編寫。那麼就有必要針對字串函式的實現,進行乙個講解。首先:
將詳細講解在字串函式實現中常用的語句其次:*str++
實際上是先使用*str,再str = str+1;這句話經常出現。比如計算字串長度
假如我們不使用*str++這個語句,那麼必然要引入i,int strlen(char *str)
return length;
}
int strlen(char *str)
return length;
}
這樣就造成了語句的冗餘,尤其在後面的字串比較及其他更複雜操作,*str++的方便性更能體現。
1.字串長度函式如上已經給出
2.字串比較函式
3.字串複製函式
4.字串連線函式
對於這些函式我將會在稍後將完整程式列出。
標頭檔案 strself.h
#ifndef _str_self_
#define _str_self_
#include #includeint strlen(char *str);
int strcmp(char *str1, char *str2);
char* strcpy(char *strdst, char *strsrc);
char * strcat(char *strdst,char *strsrc);
#endif
函式實現檔案strself.cpp
#include "strself.h"
int strlen(char *str)
return length;
}// 0 equal ,< 0 less,>0 larger
int strcmp(char *str1, char *str2)
return *str1 - *str2;
}char* strcpy(char *strdst, char *strsrc)
*strdst = '\0';
return address;
}char * strcat(char *strdst,char *strsrc)
*strdst = '\0';
return address;
}
部分測試檔案
#include#include "strself.h"
#define maxnumdststr 20
int main(void)
關於字串的函式
關於字串的操作函式有很多,那麼在眾多的函式中是否有乙個共通的地方。下面簡略分析一下。目前,我在學習中碰到的字串操作函式有 strlen,strcat,strcpy,strcmp 那麼我們按照上面的順序一一介紹一下。1.strlen strlen 是求取字串長度的函式 其原型為 size t strl...
字串問題及關於字串的函式
字串問題及關於字串的函式 1,char strcpy char dest,char src 把src指向的以null結束的字串複製到dest所指的陣列中。函式返回指向dest指標。注 1,接收字串的陣列或指標所指的記憶體區域一定要大於被複製的字串長度,否則系統可能由於字元長度不夠而被惡意修改。2,d...
字串函式實現
本文介紹了strcpy,strcnpy,atoi,itoa,strcmp,strncmp,字串逆置的c語言實現 比較簡單,或許存在bug 1.strcpy,strncpy 2.字串的逆置 void reverse char s q 這個時候q是指向 0 的,所以需要往前移動一下 while q p ...