|
정구일 님이 쓰신 글 :
: 저도 다시 읽어 보니...
: 저의 질문이 이상한듯 싶네요;;
: 질문을 다시 정리 하자면...
: 2개의 문자열을 비교 해야 합니다.
: 2개의 문자열을 비교 해서 같은 부분만 추출해야 합니다.
: Ex : survey surgery
: 이렇게 입력시 surey 입니다.
: 이렇게 하려면 입력 받은 문자를 전체를 비교 하는 것이 아니라
: 문자 문자를 비교 해야 할 거 같습니다.
: 그럴려면 문자 비교 함 수를 사용 하면 될 것 같습니다.
: 또 문자열을 문자로 나눌려면 배열을 이용 하면 될 것 같습니다.
: 이런 생각을 가지고 아래 소스 코드를 이것 저것 찾아 가면서 작성한것 입니다.
: 그런데 생각 처럼 되지 않아서 도움을 요청하러 오게 되었습니다.
:
: 솔직히 배열, 포인터, C 기초 도 거의 모르는 상태입니다.
: 그냥 이것 저것 조금씩 대충 대충 아는 뭐 그정도 입니다.
: 1학년 때 들었던 과목인데 생각 하려니 안되는것도 있고...
: 제가 강의를 잘 안들어서 그런것도 있습니다.
: 그런데 우선 과제의 압박이 있어서...
: 어쩔수가 없이...
: 우선 도움을 요청하게 되었습니다.
간단히 답변드리면..
일단 문자열은 char 데이터 형식의 배열입니다.
예를들어,
char str[256];
fscanf(fp,"%s",str1);
로 survey를 받으면, str 배열의 0~5번 데이터에 survey 6개의 character가 저장되고 7번째에 '\0'이 저장됩니다.
따라서, str1과 st2 두 문자열에 저장된 내용을 비교하고 싶다면,
while ( str1[i]!='\0' && str2[i]!='\0' ) {
if (str1[i]==str2[i]) ......
}
과 같이 비교해 주면 됩니다.
|