#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int MyStrcmp(char* aStr, char* bStr)
{
if (strlen(aStr) != strlen(bStr))
return 1;
int i = 0, aSize = 0, bSize = 0;
aSize = strlen(aStr) + 1;
bSize = strlen(bStr) + 1;
char* paStr = NULL;
char* pbStr = NULL;
paStr = (char*)malloc(aSize);
if (paStr == NULL)
return -1;
pbStr = (char*)malloc(bSize);
if (pbStr == NULL)
return -1;
memcpy(paStr, aStr, aSize);
memcpy(pbStr, bStr, bSize);
_strupr_s(paStr, aSize);
_strupr_s(pbStr, bSize);
for (i = 0; i < strlen(aStr); ++i)
{
if (*(paStr + i) != *(pbStr + i))
return 1;
}
free(paStr);
free(pbStr);
return 0;
}
int main(void)
{
char aString[] = { "ABC" };
char bString[] = { "abc" };
int rMyStrcmp = 0;
rMyStrcmp = MyStrcmp(aString, bString);
if (rMyStrcmp == 1)
puts("두 문자열은 같지 않습니다.");
else if (rMyStrcmp == 0)
puts("두 문자열은 같습니다.");
else
puts("동적 할당 실패");
return 0;
}
해당 댓글은 삭제되었습니다.
대소문자 구분하지 말라해서 문자열 복사하고 복사한 문자열 다 대문자로 변경한 후 같은지 다른지 구분했음
근데 생각해보니 해제 안했네
while에서 for 바꾸고 수정도 안했었네 ㄹㅇ~