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 함수가 내부적으로 이전에 검색한 위치를 저장하고 있기 때문이다.
//