문자열 대소문자 변환 관련 함수 중 strupr함수와 strlwr함수에 관한 내용입니다.


※요약

strupr : 문자열을 대문자로 변환 합니다.

strlwr : 문자열을 소문자로 변환 합니다.


※함수 원형 및 설명


예제

-strupr, strlwr

#include <stdio.h>
#include <string.h>	//strupr, strlwr

int main( )
{
	char string1[]="Simple Code";
	char string2[]="Example Program";
	char *pStr;

	pStr = strupr( string1 );
	printf( "%s\n", pStr );
	printf( "%s\n", string1 );

	pStr = strlwr( string2 );
	printf( "%s\n", pStr );
	printf( "%s\n", string2 );

	return 0;
}




문자셋 검색하는 함수 중 strspn함수와 strcspn함수에 관한 내용입니다.

단일 문자 또는 ASCII코드 값의 검색은 문자 검색 관련 함수 - strchr, strrchr을 참고하세요.


※요약

strspn : 문자열에서 일치되지 않는 첫 번째 문자의 위치를 검색합니다.(대소문자 구분)

strcspn : 문자열에서 일치되는 첫 번째 문자의 위치를 검색합니다.(대소문자 구분)


※함수 원형 및 설명


예제

-strspn, strcspn

#include <stdio.h>
#include <string.h>	//strspn, strcspn

int main( )
{
	char string[] = "a1b2c3 A1B2C3";
	char strCharset[] = "12ab";
	int nIndex=0;

	//문자열에서 '1', '2', 'a', 'b' 문자가 없는 첫 위치를 검색
	nIndex = strspn( string, strCharset );
	printf( "index : %d, %s\n", nIndex, &string[nIndex] );

	//문자열에서 'A', 'B', 'C' 중 일치되는 첫 문자가 있는 위치 검색
	nIndex = strcspn( string, "ABC" );
	printf( "index : %d, %s\n", nIndex, &string[nIndex] );

	return 0;
}




문자열 길이 및 버퍼 크기 구하는 함수 중 strlen함수와 sizeof연산자에 관한 내용입니다.


※요약

strlen : 문자열의 길이를 구합니다.

sizeof : sizeof는 실제로 차지하고 있는 메모리의 크기를 구합니다.


※함수 원형 및 설명


예제

-strlen, sizeof

#include <stdio.h>	//printf
#include <iostream>	//cout
#include <string.h>	//strlen

#define print(nLen) printf( "%d\n", nLen )
#define PrintOut(nLen) std::cout<<nLen<<std::endl

int main( )
{
	char string[50] = "This is a simple string";
	int nStrLen(0);
	int nStrSize(0);

	nStrLen = strlen( string );
	print(nStrLen);

	nStrSize = sizeof( string );
	PrintOut( nStrSize );

	return 0;
}




문자열 분리 및 파싱 관련 함수 중 strtok함수와 strpbrk함수에 관한 내용입니다.



※요약

strtok : 문자열을 특정 구분기호로 분리하고자 할 때 사용합니다. 

문자열에서 문자세트 중 하나가 발견되면 해당 문자를 NULL로 바꾸고 토큰(분리 문자열)을 반환합니다.

strpbrk : 문자열에서 특정 문자의 위치를 검색하며 대소문자를 구분합니다.



※함수 원형 및 설명



예제

-strtok

#include <stdio.h>	//printf
#include <string.h>	//strtok

int main( )
{
	char *token = NULL;
	char str1[] = "This is\tTest,Program!\n";
	char str2[] = " ,\t\n";//' '이나 ','이나 '\t'이나 '\n'이 들어있는 문자열을 분리

	token = strtok( str1, str2 );

	while( token != NULL )
	{
		printf( "token = %s", token );
		putchar( '\n' );
		token = strtok( NULL, str2 );
	}

	return 0;
}


-strpbrk

#include <stdio.h>	//printf
#include <string.h>	//strpbrk

int main( )
{
	char string[] = "f(x) = a+b-(c*d⁄e)";
	char strSeparate[] = "()=+-*⁄";
	char *strPos = string;

	do
	{
		strPos = strpbrk( strPos, strSeparate );

		if( strPos != NULL )
		{
			printf( "%s\n", strPos );
			++strPos;
		}
	}
	while( strPos != NULL );

	return 0;
}




문자 검색 관련 함수 중 strchr함수와 strrchr함수에 관한 내용입니다.

문자셋을 이용한 값의 검색은 문자셋 검색 관련 함수 - strspn, strcspn을 참고하세요.


※요약

strchr : 문자열의 앞에서 뒤로, 일치되는 문자가 있는지 검색합니다.

strrchr : 문자열의 뒤에서 앞으로, 일치되는 문자가 있는지 검색합니다. 사이의 r은 Reverse입니다.


※함수 원형 및 설명


예제

-strchr, strrchr

#include <stdio.h>
#include <string.h>

int main( )
{
	char *strTemp;
	char string[] = "This is a good car!";

	strTemp = strchr( string, 'a' );
	printf( "%s \n", strTemp );

	strTemp = strchr( string, 0x67 );	//0x67 = 'g'
	printf( "%s \n", strTemp );

	strTemp = strrchr( string, 'a' );
	printf( "%s \n", strTemp );

	return 0;
}


문자열 검색 관련 함수 중 strstr함수에 관한 내용입니다.


※요약

strstr : 대소문자를 구분하여 일치되는 문자열이 있는지 검색합니다.


※함수 원형 및 설명



예제

simple 문자열을 검색 후, 검색된 문자열 포인터로 부터 6글자를 바꾸는 예제

#include <stdio.h>
#include <string.h>

int main( )
{
	char str[] ="This is a simple string";
	char * pch;

	pch = strstr( str, "simple" );
	strncpy( pch, "sample", 6 );
	
	puts( str );
	
	return 0;
}


문자열 비교 관련 함수 중 strcmp함수와 strncmp함수, stricmp함수, strnicmp함수에 관한 내용입니다.


※요약

strcmp : 대소문자를 구분하여 두 개의 문자열을 비교합니다.

strncmp : 대소문자를 구분하여 지정된 길이만큼 두 개의 문자열을 비교합니다.

stricmp : 대소문자를 구분하지 않고 두 개의 문자열을 비교합니다.

strnicmp : 대소문자를 구분하지 않고 지정된 길이만큼 두 개의 문자열을 비교합니다.


※함수 원형 및 설명



예제

-strcmp, strncmp, stricmp, strnicmp

#include <stdio.h>
#include <string.h>

char *CompareResult( int nResult )
{
	switch(nResult)
	{
	case 0:
		return "두 문자열이 같습니다.";
		break;
	default:
		return "두 문자열이 다릅니다.";
		break;
	}
}

int main( )
{
	int nResult;
	
	nResult = strcmp( "Sample string", "Sample string" );
	printf( "%s\n", CompareResult(nResult) );
	nResult = stricmp( "Sample string", "SAMPLE STRING" );
	printf( "%s\n", CompareResult(nResult) );

	nResult = strncmp( "Sample string", "Sam", 3 );
	printf( "%s\n", CompareResult(nResult) );
	nResult = strnicmp( "Sample string", "SAM", 3 );
	printf( "%s\n", CompareResult(nResult) );

	return 0;
}




문자열 연결 관련 함수 중 strcat함수와 strncat함수에 관한 내용입니다.


※요약

strcat : 두 개의 문자열을 연결합니다.

strncat : 두 개의 문자열을 지정된 길이만큼 연결합니다.


※함수 원형 및 설명


예제

-strcat

#include <stdio.h>
#include <string.h>

int main( )
{
	char str[80];
	
	strcpy( str, "these " );
	strcat( str, "strings " );
	strcat( str, "are " );
	strcat( str, "concatenated." );
	
	puts( str );

	return 0;
}


-strncat

#include <stdio.h>
#include <string.h>

int main( )
{
	char str1[20];
	char str2[20];
	
	strcpy( str1,"To be " );
	strcpy( str2,"or not to be" );
	strncat( str1, str2, 6 );
	
	puts( str1 );

	return 0;
}

문자열 복사 관련 함수 중 함수와 strncpy함수에 관한 내용입니다.


※요약

strcpy : NULL문자를 만나기 전까지의 문자열을 복사합니다.

strncpy : 문자열을 지정된 길이만큼 복사합니다. str과 cpy 사이에 있는 n(number)은 길이를 의미합니다.


※함수 원형 및 설명



예제

-strcpy

#include <stdio.h>
#include <string.h>

int main( )
{
	char str1[]="Sample string";
	char str2[40];
	char str3[40];

	strcpy( str2, str1 );
	strcpy( str3, "copy successful" );

	printf( "str1: %s\n", str1 );
	printf( "str2: %s\n", str2 );
	printf( "str3: %s\n", str3 );

	return 0;
}


-strncpy

#include <stdio.h>
#include <string.h>

int main( )
{
	char str1[]= "To be or not to be";
	char str2[40];
	char str3[40] = {0,};

	strncpy( str2, str1, sizeof(str2) );

	strncpy( str3, str2, 5 );
	//str3[5] = '\0';

	puts( str1 );
	puts( str2 );
	puts( str3 );

	return 0;
}


+ Recent posts