본문 바로가기

자작 프로그램

대/소문자 변환 예제

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

#include <stdio.h>
#include <conio.h>

// 대문자인지검사합니다.
#define ISUPPER(c) (('A' <= c) && (c <= 'Z'))
// 소문자인지검사합니다.
#define ISLOWER(c) (('a' <= c) && (c <= 'z'))
// 소문자로바꿉니다.
#define TOUPPER(c) (c - ('a' - 'A'))
// 대문자로바꿉니다.
#define TOLOWER(c) (c + ('a' - 'A'))
 
// 지정한문자열을모두대문자로...
char * to_UpperString(char * _dest, const char * _src);
// 지정한문자열을모두소문자로...
char * to_LowerString(char * _dest, const char * _src);
 
int main()
{
	char str[] = "MULTI - campus";
	char buf[32];
 
	to_UpperString(buf, str);
	printf("to_UpperString: %s -> %s\n", str, buf);
 
	to_LowerString(buf, str);
	printf("toLowerString: %s -> %s\n", str, buf);
 
	_getch();
 
	return 0;
}

char * to_UpperString(char * _dest, const char * _src)
{
	char * ret = _dest;
	// _dest는미리할당되어있다고가정합니다.
 
	do
	{
	       if(ISLOWER(*_src))
		       *_dest++ = (char)TOUPPER(*_src);
	       else
		       *_dest++ = *_src;
	} while(*_src++ != '\0');
 
	*_dest = '\0';
	
	return ret;
}
 
char * to_LowerString(char * _dest, const char * _src)
{
	char * ret = _dest;
	// _dest는미리할당되어있다고가정합니다.
 
	do
	{
	       if(ISUPPER(*_src))
		       *_dest++ = (char)TOLOWER(*_src);
	       else
		       *_dest++ = *_src;
	} while(*_src++ != '\0');
 
	*_dest = '\0';
	
	return ret;
}

아니... 뭐... 별 건 없고 심심해서 그냥 만들어 봤음.