알고리즘 C 언어 문자열 함수는 2 구현

1.strcpy

用 法 : 숯 * strcpy를 (* CHAR STR1, STR2 * CHAR);

기능 : 복사 문자열, STR1에서 STR2를 할당

* myStr의 cahr ( 숯불 * str1과, cahr * STR2) 
{ 
    문자 * P = str1과;
     IF (STR2의 str1이 == NULL || == NULL)
         반환 NULL,
     그동안 (*과 str2 = NULL) // 문자를 복사 * STR2 ( '\ 0'NULL에 해당) 종료합니다 
    {
         * * str1이 = ;과 str2 
        str1과 ++ ; 
        STR2 ++ ; 
    }
     * str1이 = ' \ 0 ' ; // 때문에 마지막 문자 '\ 0'의 사본, 그래서 출구 루프, 그래서 만들어 
    반환 ; P를 // str1과의 첫 번째 주소를 반환 
}

 

2strset
용 FA : 숯 *에 대한 strset (숯불이 STR *, C는 숯위한);

기능 : 문자열의 모든 문자는 문자를 지정하도록 설정되어

 *의 mystrset (  * str을, CH) 
{ 
     *의 p = STR;
    반면 (* STR = ' \ 0 ' ) 
    {
         * STR = CH; 
        STR ++ ; 
    } 
    반환 P는; 
}

 

3. 않는 strstr
用法: * CHAR 않는 strstr (* CHAR STR1, STR2 * CHAR);

기능 : str1과에 포함되어 있는지 여부를 확인하는 문자열 str1과, 문자열과 str2를 찾습니다. 이 경우 그렇지 않으면 빈, 문자열과 str2의 첫 번째 항목의 위치로 되돌아

 * mystrstr ( CHAR * STR1, * STR2) 
{ 
     *의 P = NULL;
     IF (STR2의 STR1 == NULL || == NULL)
         복귀 P;
     INT 길이 1 = 나 strlen (STR1) // 마스터 문자열 길이 
    INT = 나 strlen 길이 2 (STR2); // 문자열 길이 
     ( INT I = 0 ; I <길이 1-길이 2, I는 ++ ) 
    { 
        INT 플래그 = 1이다. ] // 동일한 문자열로 간주 
         ( INT J = 0 ; J <길이 2 ; J ++ ) 
        {
            IF (! STR은 [I가 + J] STR = [J]) // 긴 문자 릴리스 사이클과 동일하지 않은 것처럼 
            { 
                플래그 = 0 ;
                 BREAK ; 
            } 
        } 
        IF (플래그 == 1. ) 
        { 
             (STR1 + I) / / 복귀 위치 발견 
            BREAK ; 
        } 
    } 
    리턴 P; 
}

알고리즘을 탐구하고자, 오늘 것이라고 말하기, 메시지 또는 프로그램에 따라 더있다!

추천

출처www.cnblogs.com/zulkar/p/10973840.html