午前二十一時32分23秒2019年6月1日
C文字列関数、文字列関数アルゴリズムについて話をする方法を検討するために、今日の瞬間
最初に文字列関数を強調<string.hの>ヘッダ・ファイル
1.strcmp機能
使用法:int型のstrcmp(CHAR * str1は、CHAR * STR2)。
関数:文字列比較は、0に等しいと最初の値と等しくない差分(STR1、STR2、差分値:すなわち、ASCIIの差)と一致しない文字の文字列を返します
アルゴリズム
int型 mystrcmp(チャー *のP1、チャー *のP2) { // * P1、P2 *は、STR2最初のアドレス(すなわち文字列名)文字列STR1を格納する int型私は= 0 ; 一方(P1の[I] == !P2 [I] && P1 [I] = ' \ 0 ') // 、最初から文字を比較開始直進、終了し、等しくない場合は 、{ Iは ++ ; } int型、NUMを // 戻り値を表すために IF(P1 [I] == ' \ 0 ' && P2 [I] == ' \ 0 ') // ここで二つの文字列の末尾 { NUM =0 ; // 同じであると判定されるまで } 他 { NUM = [I] P1 -P2 [I]は、 //はNUMに割り当てられた差分のASCII文字コードを伝える } 戻りNUMを; }
2.strchr機能
用法:CHAR * strchr(チャー*のSTR、チャーC)。
機能:NULLが返された場合、最初に出現したの与えられた文字列で検索する、それ以外の場合は、最初の発生箇所へのポインタを返します
アルゴリズム:
CHAR * mystrchr(CHAR * STR、チャーC) { IF(STR == NULL) { 戻りNULL; } そうでなければ { (whlie * STR =!' \ 0 ' ) { IF(CH ==(* STR)) // 文字列であり、* STR STR [i]は、と等価 { 戻り、STR BREAK ; // リターンアドレスに等しく、ループを抜ける } STR ++ ; } 戻りNULL; } }
3.strcat機能
用法:チャー*のSTRCAT(CHAR *デス、チャー*源);
機能:文字列の連結機能、最初のアドレスが正常に戻ったが、それ以外の場合はNULLを返します
アルゴリズム:
CHAR * mystrcat(CHAR * 0009、CHAR * STR2) { IF(STR2のSTR1 == NULL || == NULL) 戻りNULL; CHAR * P = 0009; //はポインタ第1アドレスSTR1保存 しばらく(* 0009 =!' \ 0 ' ) { 0009 ++ ; } ながら(* STR2 =!' \ 0 ' ) { * 0009 = STR2; 0009 ++ ; } * 0009 = ' \ 0 ' 。 返すのpを; // 最初のアドレスを返します }
ここでは最初に、今日いえば、明日続けます!
ご理解と大きな助けの成長のために、自分の実現を達成するために必ず、ライブラリ関数にあまり依存しないでください。