078. 문자열을 정수로 변환하기 2(atol)078. 문자열을 정수로 변환하기 2(atol)

Posted at 2011. 2. 9. 04:12 | Posted in Computer/초보자를 위한 C 언어 300제
#include <stdio.h>
#include <stdlib.h>

void main( void )
{
	char *string1 = "2는 1보다 큽니다.";
	char *string2 = "1004는 천사입니다.";
	char *string3 = "2005년도 입니다.";
	char *string4 = "오늘은 6월 9일입니다.";
	long t1, t2, t3, t4;

	puts( string1 );
	puts( string2 );
	puts( string3 );
	puts( string4 );

	t1 = atol(string1);
	t2 = atol(string2);
	t3 = atol(string3);
	t4 = atol(string4);

	printf( "문자열을 숫자로 변환한 값 : %ld, %ld, %ld, %ld \n", t1, t2, t3, t4 );
	printf( "총 합은 %d입니다. \n", t1 + t2 + t3 + t4 );
}
//

076. 문자열을 형식화하기(sprintf)076. 문자열을 형식화하기(sprintf)

Posted at 2011. 2. 9. 04:05 | Posted in Computer/초보자를 위한 C 언어 300제
#include <stdio.h>
#include <stdlib.h>

void main( void )
{
	char cValue = 'a';
	int iValue = 1234567;
	long lValue = 7890123;
	float fValue = 3.141592;
	double dValue = 3.141592;
	char *string = "korea";
	char buffer[100];

	sprintf( buffer, "char   형은 %c", cValue );
	puts( buffer );

	sprintf( buffer, "int    형은 %d", iValue );
	puts( buffer );

	sprintf( buffer, "long   형은 %ld", lValue );
	puts( buffer );

	sprintf( buffer, "float  형은 %f", fValue );
	puts( buffer );

	sprintf( buffer, "double 형은 %e", dValue );
	puts( buffer );

	sprintf( buffer, "char*  형은 %s", string );
	puts( buffer );
}
//

075. 문자열을 중복 생성하기(strdup)075. 문자열을 중복 생성하기(strdup)

Posted at 2011. 2. 9. 03:59 | Posted in Computer/초보자를 위한 C 언어 300제
#include <stdio.h>
#include <string.h>
#include <malloc.h>

void main( void )
{
	char string[100];
	char *pstr;

	puts( "문자열을 입력한 후 Enter키를 치세요!" );
	puts( "아무 문자도 입력하지 않으면 프로그램은 종료됩니다!" );

	do
	{
		gets( string );

		if( strlen(string) == 0 ) break;

		pstr = strdup( string );

		strcpy( string, "temporary string" );

		printf( "문자열 string : %s \n", string );
		printf( "문자열 pstr : %s \n", pstr );

		free( pstr );

	} while(1);
}
//

074. 문자열을 거꾸로 뒤집기(strrev)074. 문자열을 거꾸로 뒤집기(strrev)

Posted at 2011. 2. 9. 03:56 | Posted in Computer/초보자를 위한 C 언어 300제
#include <stdio.h>
#include <string.h>

void main( void )
{
	char string[100];

	puts( "영단어를 입력한 후 Enter키를 치세요!" );
	puts( "아무 문자도 입력하지 않으면 프로그램은 종료됩니다!" );

	do
	{
		gets( string );

		if( strlen(string) == 0 ) break;

		strrev( string );
		puts( string );

	} while(1);
}
//

073. 문자열을 소문자로 변환하기(strlwr)073. 문자열을 소문자로 변환하기(strlwr)

Posted at 2011. 2. 9. 03:55 | Posted in Computer/초보자를 위한 C 언어 300제
#include <stdio.h>
#include <string.h>

void main( void )
{
	char string[100];

	puts( "문자열을 입력한 후 Enter키를 치세요!" );
	puts( "아무 문자도 입력하지 않으면 프로그램은 종료됩니다!" );

	do
	{
		gets( string );

		if( strlen(string) == 0 ) break;

		strlwr( string );
		puts( string );

	} while(1);
}
//

072. 문자열을 대문자로 변환하기(strupr)072. 문자열을 대문자로 변환하기(strupr)

Posted at 2011. 2. 9. 03:53 | Posted in Computer/초보자를 위한 C 언어 300제
#include <stdio.h>
#include <string.h>

void main( void )
{
	char string[100];

	puts( "문자열을 입력한 후 Enter키를 치세요!" );
	puts( "아무 문자도 입력하지 않으면 프로그램은 종료됩니다!" );

	do
	{
		gets( string );

		if( strlen(string) == 0 ) break;

		strupr( string );
		puts( string );

	} while(1);
}
//

071. 부분 문자열을 특정 문자로 채우기(strnset)071. 부분 문자열을 특정 문자로 채우기(strnset)

Posted at 2011. 2. 9. 03:50 | Posted in Computer/초보자를 위한 C 언어 300제
#include <stdio.h>
#include <string.h>

void main( void )
{
	char string[100];

	puts( "문자열을 입력한 후 Enter키를 치세요!" );
	puts( "아무 문자도 입력하지 않으면 프로그램은 종료됩니다!" );

	do
	{
		gets( string );

		if( strlen(string) == 0 ) break;

		strnset( string, '*', 5 );
		puts( string );

	} while(1);
}
//

070. 문자열을 특정 문자로 채우기(strset)070. 문자열을 특정 문자로 채우기(strset)

Posted at 2011. 2. 9. 03:47 | Posted in Computer/초보자를 위한 C 언어 300제
#include <stdio.h>
#include <string.h>

void main( void )
{
	char string[100];

	puts( "문자열을 입력한 후 Enter키를 치세요!" );
	puts( "아무 문자도 입력하지 않으면 프로그램은 종료됩니다!" );

	do
	{
		gets( string );

		if( strlen(string) == 0 ) break;

		strset( string, string[0] );
		puts( string );
	} while(1);
}
//

069. 문자열을 구분자로 분리하기 2(strpbrk)069. 문자열을 구분자로 분리하기 2(strpbrk)

Posted at 2011. 2. 9. 03:44 | Posted in Computer/초보자를 위한 C 언어 300제
#include <stdio.h>
#include <string.h>

#define TOKEN " "

void main( void )
{
	char string[100];
	char *pos;
	
	puts( "문자열을 입력한 후 Enter 키를 치세요!" );

	gets( string );

	pos = strpbrk( string, TOKEN );

	while( pos != NULL )
	{
		puts( pos++ );

		pos = strpbrk( pos, TOKEN );
	}
}
//

068. 문자열을 구분자로 분리하기 1(strtok)068. 문자열을 구분자로 분리하기 1(strtok)

Posted at 2011. 2. 9. 03:38 | Posted in Computer/초보자를 위한 C 언어 300제
#include <stdio.h>
#include <string.h>

#define TOKEN " "

void main( void )
{
	char string[100];
	char *token;

	puts( "문자열을 입력한 후 Enter 키를 치세요!" );

	gets( string );

	token = strtok( string, TOKEN );

	while( token != NULL )
	{
		puts( token );
		token = strtok( NULL, TOKEN );
	}
}

14번줄과 20번줄을 유심히 보자. 분명 14번 줄에서 사용한 strtok 함수에는 source가 있지만 20번줄에는 source가 없다. NULL이 있다. 이것은 strtok 함수가 내부적으로 이전에 검색한 위치를 저장하고 있기 때문이다.
//