// php로 치면 strpos 함수랑 같은 동작을 한다


// source + offset에서 pattern이 등장하는 오프셋을 반환하는 함수.

int find_str(char source[], int offset, char pattern[]){

int plen = strlen(pattern), slen = strlen(source + offset), i, j, r;


// 자 패턴이 소스보다 더길대ㅋ 절대 일치하는 부분이 존재할 리가 없지

if(slen < plen)

return -1;


// 어? 두개 길이가 같네? 그럼 걍 비교돌리고 일치하면 offset 날리고 아니면 -1날려버려

if(slen == plen)

return (strcmp(source + offset, pattern) == 0 ? offset : -1);


for(i = offset; i < slen + offset; i++){

r = 1; // 일단 일치하는 거라고 가정한다


for(j = 0; j < plen; j++){

if(pattern[j] != source[i + j]){ // 다른 문자 한개 찾앗어

r = 0; // 그럼 일치 안한다고 일러바치고

break;

}

}


if(j <= plen - 1 && r == 1) // 어 근데 j가 패턴 길이보다 작네? 그런데 어떻게 일치할까?

r = 0; // 일치 안한다고 고쳐놓고 (일치하는걸 찾았을리가 없지)


if(r == 1){ // 일치하면

return i; // 현재 오프셋 리턴

}

}


return -1; // 아 절대 못찾아

}


혹시나 해서 돌려봣다