336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

개념:


1. string.h 에 포함


2. 원형 : 


 unsigned int strcspn(const char* string, const char* strCharSet)


 unsigned int strspn(const char* string, const char* strCharSet)


3. strcspn : 문자열중 일치하는 첫번째 문자 위치를 검색 


4. strspn : 문자열중 일치하지 않는 첫번째 문자 위치를검색


5. 만약 결과가 없다면 문자널이 일치하는곳을 찾아 리턴해준다.


목표:


사용해보고 만들어보자


소스코드:main.c


#include <stdio.h>

#include <string.h>


unsigned int MYstrcspn(const char* string, const char* strCharSet);

unsigned int MYstrspn(const char* string, const char* strCharSet);


int main(void)

{

const char * string = "000000000010000";

const char* strCharSet = "1111111111111111";

int result = -1;


unsigned int strlength = strlen(string);

//1을 찾으면 주소값을 리턴하게 만들 예제를 만들어보조


puts("strcspn 호출");

result = strcspn(string, strCharSet);


if (result == -1)

{

puts("찾기 실패");

}

else if (result < strlength)

{

printf("문자열에서 첫번째로 일치하는 문자를 찾았습니다. 주소값 : %d \n", result);

}



result = -1;

//1을 찾으면 주소값을 리턴하게 만들 예제를 만들어보조


puts("strspn 호출");

result = strspn(string, strCharSet);


if (result == -1)

{

puts("찾기 실패");

}

else if (result < strlength)

{

printf("문자열에서 첫번째로 일치하지 않는 문자를 찾았습니다. 주소값 : %d \n", result);//첫번째 위치 0 입니다.

}



//구현해본다.

result = -1;


puts("MYstrcspn 호출");

result = MYstrcspn(string, strCharSet);


if (result == -1)

{

puts("찾기 실패");

}

else if (result < strlength)

{

printf("문자열에서 첫번째로 일치하는 문자를 찾았습니다. 주소값 : %d \n", result);

}



result = -1;

//1을 찾으면 주소값을 리턴하게 만들 예제를 만들어보조


puts("MYstrspn 호출");

result = MYstrspn(string, strCharSet);


if (result == -1)

{

puts("찾기 실패");

}

else if (result < strlength)

{

printf("문자열에서 첫번째로 일치하지 않는 문자를 찾았습니다. 주소값 : %d \n", result);//첫번째 위치 0 입니다.

}



return 0;

}


unsigned int MYstrcspn(const char* string, const char* strCharSet)

{

int i = 0, j = 0;

int IsRun = 1;


while (IsRun)

{

while (IsRun)

{

if (string[i] == strCharSet[j])

{

IsRun = 0;

}


if (j == strlen(strCharSet))

{

j = 0;

break;

}


j++;


}

i++;

}


return i - 1; // 문자열은 0부터 시작하기때문에

}

unsigned int MYstrspn(const char* string, const char* strCharSet)

{

int i = 0, j = 0;

int IsRun = 1;


while (IsRun)

{

while (IsRun)

{

if (string[i] == strCharSet[j] || j == strlen(strCharSet))

{

break;

j = 0;

}

else

{

IsRun = 0;

}


j++;

}

i++;

}


return i - 1; // 문자열은 0부터 시작하기때문에

}



결과



#c언어, #c언어입문, #프로그램입문, #strcspn, #strspn, #strcspn구현, #strspn구현

'Programing - C > C Basic grammar ' 카테고리의 다른 글

068 strpbrk  (0) 2017.07.28
067 strtok_s  (0) 2017.07.28
065 strchr를 사용해보고 구현해보자  (0) 2017.07.28
064 strstr  (0) 2017.07.28
063 strlen 사용및 구현  (0) 2017.07.28

+ Recent posts