문자열 분리 및 파싱 관련 함수 중 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;
}



(아스키코드를 알면 C/C++이나 Java 등으로 문자열 함수를 다루거나 파일 함수를 다룰때 도움이 됩니다.)


컴퓨터는 0과 1 숫자 밖에 모르기 때문에 문자도 숫자로 기억합니다. 이때, 어떤 숫자와 어떤 문자를 대응시키는가에 따라 여러 가지 인코딩 방식이 있는데 통상 아스키 코드 방식을 많이 사용합니다.


아스키 코드(ASCII Table)는 0번부터 127번까지만 사용합니다. 127번 이후 코드를 사용했던 적도 있었는데 이는 표준이 아니며 운영체제마다 다른 코드(문자)를 배치했기 때문에 호환이 되지 않습니다. 윈도우즈 운영체제는 현재 128번부터 255번 사이에 포함된 문자를 출력하려는 시도에 대해 물음표(?)를 출력해서 사용하면 안된다는 것을 알려줍니다. 128번과 255번 문자는 물음표는 아니지만 사용할 수 없는 문자입니다.


아래는 아스키 코드를 색상별로 구분한 표입니다. 출력할 수 있는 문자처럼 범위가 너무 넓은 영역은 표시하지 않았습니다. 제어 문자는 0번부터 31번 문자까지를 모두 포함하지만, 중간에 공백으로 사용되는 문자들이 있어 9번부터 13번까지를 공백 문자로 처리했습니다. 표 마지막에 있는 DEL 문자는 제어 문자이므로 갈색입니다.



ASCII Table - 아스키 코드표 입니다.



다음은 위의 표에서 공간 때문에 생략했던 내용들로, 제어 문자에 대해서만 추가되는 내용입니다. MS-DOS는 제어 문자들 중에서 현재 사용되지 않는 문자에 대해 특수 문자를 배정해서 사용합니다. 그러나, 이들 문자는 콘솔에서만 볼 수 있고, 일반 편집기(메모장, 한글, MS-WORD)에서는 전부 깨집니다. 

"MS-DOS" 항목에 있는 문자들은 2바이트 특수 문자에 있는 문자들 중에서 골랐습니다. 비어있는 칸은 여전히 제어 문자로 사용하는 문자이고, 물음표(?)는 똑같은 문자가 없거나 아예 비슷한 문자도 없다는 뜻입니다.

출처 - www.printf.co.kr




아래는 이재욱님이 만든 다른 ASCII Table - 아스키코드표 이미지입니다.




문자 검색 관련 함수 중 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;
}




Visual Studio 2008에서 fatal error LNK1000: Internal error during IncrBuildImage 라는 에러가 뜰때가 있습니다.

이는 SP1을 설치해 주면 더 이상 발생하지 않습니다.

주의할 점은 자신의 비주얼 스튜디오 언어에 맞는 설치 파일을 받아서 설치해야 합니다.


Microsoft Visual Studio 2008 서비스 팩 1 iso 다운로드





아래는 비주얼 스튜디오 2012 기본 스킨인 "광원"입니다.

배경색은 제가 임의로 바꿨는지 푸른색 계통이네요.

배경색 변경은 Visual Studio 색 변경, 배경색 지정 링크에 가면 있습니다.


아래는 "어둡게" 스킨입니다.


아래는 바꾸는 방법입니다.

비주얼 스튜디오 상단 메뉴에서 

"도구(T)" -> "옵션(O)" -> "환경" -> "일반" 에 있습니다.




비주얼 스튜디오나 QT, 이클립스 등으로 코딩할 때 

배경색이 하얀색이면 조금만 코딩해도 알게모르게 눈에 금방 무리가 옵니다.

이럴 때 푸른색 계통이나 눈에 좋다는 녹색 계통으로 

연하게 배경색을 칠해주면 눈의 피로가 훨씬 덜 하게 됩니다.


비주얼 스튜디오 2012의 경우 스킨을 바꾸는 방법도 있습니다.

Visual Studio 2012 스킨 변경 방법


참고로 아래 소스는 EXIF Viewer, EXIF 뷰어 프로그램의 히스토그램 데이터 생성하는 부분의 소스입니다.


제약적이지만 아래 두 빨간 네모를 통해 색을 지정할 수 있습니다.

하지만 왼쪽 트리는 색을 못 바꾸겠네요  - _-;







아이패드 에어 사양

크기 : 169.5mm X 240mm X 7.5

칩셋 : 64비트 A7 (보조 프로세서 M7)

9.7형 디스플레이

해상도 : 2048X1536

ppi : 264

카메라 : 500만 화소 iSight

MIMO 기술 기반 802.11n Wi-Fi

Bluetooth 4.0

무게 : 469g

두께 : 7.5mm

총 부피 24%감속



아이패드 미니 레티나 사양

크기 : 134.7mm X 200mm X 7.5

칩셋 : 64비트 A7 (보조 프로세서 M7)

7.9형 디스플레이

해상도 : 2048X1536

ppi : 326

카메라 : 500만 화소 iSight

MIMO 기술 기반 802.11n Wi-Fi

Bluetooth 4.0

무게 : 331g

두께 : 7.5mm

최대 배터리 시간 : 10시간

////////////////////////////////////////////////////////////////////////////////////////////////////


아이패드 사진










////////////////////////////////////////////////////////////////////////////////////////////////////


아이패드 미니 레티나 사진











////////////////////////////////////////////////////////////////////////////////////////////////////




아래는 미국 샌프란시스코 예바 부에나센터에서 열린 애플 신제품 발표 행사에서 아이패드 부분입니다.

이번에 iPad Air와 iPad Mini Retina가 발표되었습니다.

////////////////////////////////////////////////////////////////////////////////////////////////////

1억 7000만대의 아이패드가 판매되었다고 합니다.



태블릿 사용시간 81% 차지.

고객 만족도 1등.



아이패드와 관련된 비디오 시청



소방, 증강현실, 애니매이션 메이킹, 가구 만들기, 유아 교육, DJ, 음악 연주, 발표, 사진찍기, 드론 조종 등 매우 많은 곳에 쓰인다는 것을 보여주는 영상이었습니다.



아이패드 에어입니다.

베젤이 얇아져서 그런지 언뜻 보기에는 아이패드 미니 같네요.



가장 가벼운 풀 사이즈 태블릿입니다. 약 453.6 그램

9.7 인치 디스플레이에 7.5mm 두께 1파운드 무게 더 작은 베젤을 가지고 있습니다.

그리고 이는 새 이름이 붙여졌습니다.iPad Air



최초로 MIMO 기술을 이용하여 300Mbps 2채널 안테나 Wi-Fi 로 속도가 2배가 되었습니다. 또한 5백만화소 카메라, 새 페이스타임 카메라, 듀얼 마이크, 1080p 비디오 촬영등...


A7, M7 칩을 탑재 하여 그래픽, CPU 모두 2배가 되었습니다.



11월 01일에 첫 런칭이며, 우리나라는 1차 출시국이 아닙니다.

색상은 두 가지이며 iPad Air와 iPad2를 함께 판매합니다.



1차 출시국 목록



이제부터 아이패드 미니2입니다.



A7 탑재로 2배빠른 cpu, 8배 빠른 그래픽을 지원하며 10시간의 배터리 시간과 와이파이 관련 신기술 등을 모두 지원합니다.


2048 x 1536 픽셀 탑재로 아이패드 Air 와 같은 픽셀수, 즉 레티나 디스플레이를 탑재합니다.



아이패드 미니와 아이패드 미니2, 아이패드2, 아이패드 에어의 가격표



새 커버입니다.







 

 

shutdown 명령어는 운영체제가 윈도우인 시스템에서 사용할 수 있는 방법입니다.

shutdown의 장점은 윈도우 기본 내장 기능으로써 기타 불필요한 프로그램 설치나 실행 없이

어느 컴퓨터에서나 같은 방법으로 컴퓨터를 종료할 수 있는 점입니다.


기본적으로 "shutdown -s -t 시간"으로 사용하며, 시간의 단위는 초입니다.

종료 외에도 아래와 같이 재부팅 할 때도 사용할 수 있습니다.

"shutdown -r -t 시간"


※사용예

shutdown -s -t 3600    : 1시간 후에 시스템 종료

shutdown -r -t 3600     : 1시간 후에 시스템 재부팅

shutdown -a              : 취소


"shutdown -s -t 3600"을 실행에 입력합니다.(실행창 실행 단축키는 윈도우키+R)


입력하면 아래와 같이 뜹니다.


"shutdown -a" 를 입력하여 취소하면 아래와 같이 뜹니다.


윈도우 비스타에서는 600초(10분) 이상 안될 수도 있습니다.

문자열 검색 관련 함수 중 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;
}


+ Recent posts