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






Microsoft Visual C++ 재배포 패키지 입니다.

링크된 Microsoft 다운로드 센터에 가서 다운 받아도 되고,

이 블로그에서 직접 다운 받아도 됩니다.


여기에 있는 재배포 패키지는 2005, 2008, 2010 입니다.

나중에 2012나 2013 등도 올리겠습니다.



Microsoft Visual C++ 2005 SP1 32비트 (x86) 다운로드 

Microsoft Visual C++ 2005 SP1 64비트 (x64) 다운로드




Microsoft Visual C++ 2012 Update4 다운로드


Microsoft Visual C++ 2013 다운로드

Visual Studio Professional 2013 최종 버전을 13년 10월 31일부터 다운받을 수 있습니다. 학생이라면 드림스파크에서 이메일이나 국제 학생증으로 인증 후 다운 받으시면 됩니다.


드림스파크 이동하기


문자열 복사 관련 함수 중 함수와 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;
}




도를 도분이나 도분초로 변환 가능하며 반대로 도분초를 도나 도분, 도분을 도분초나 도로 변환 가능한 프로그램 입니다. 위경도를 입력 후 이동버튼으로 해당 좌표에 해당하는 곳으로 이동도 가능하며 지도는 구글맵을 이용했습니다.


도, 도분, 도분초 각 에디트에 값을 입력하면 자동으로 다른 값으로 변경됩니다.




공식 홈페이지



해시 값을 간단하게 확인할 수 있는 프로그램 입니다. MD5, SHA-1 말고도 옵션을 통해 다른 해시 값들을 확인할 수 있습니다.



표시할 해시(hash)를 설정해 줍니다.

CDialog 클래스를 상속받아 만들어진 윈도우는 Enter와 ESC 키에 윈도우가 닫히는 특징이 있습니다. 이런 현상을 방지하려면 가상 함수인 PreTranslateMessage 함수에 WM_KEYDOWN 메시지를 검사해서 누른 키가 Enter나 ESC면 처리하지 않고 반환하게 하면 됩니다.


BOOL TestDlg::PreTranslateMessage( MSG* pMsg )
{
       if( pMsg->message == WM_KEYDOWN && (pMsg -> wParam == VK_RETURN || pMsg -> wParam == VK_ESCAPE) )
       {
               pMsg->wParam = NULL;
       }

       return CDialog::PreTranslateMessage( pMsg );
}



UpdateData( TRUE ) 는 컨트롤 -> 변수

UpdateData( FALSE ) 는 변수 -> 컨트롤


보통 함수 시작 부분에 UpdateData( TRUE )가 먼저 오고 함수 끝 부분에 UpdateData( FALSE )가 옵니다.


이것을 DDX( Dialog Data Exchange )라고 합니다

토렌트 원격 접속하기 입니다. "옵션 - 설정 - 고급 설정 - 웹 인터페이스"까지 이동합니다.


계정과 비밀번호를 설정해줍니다. 저는 대체 포트로 해서 8899를 입력했습니다.



익스플로러나 크롬 주소창에 자신의 IP나 도메인을 집어 넣습니다. 자신의 아이피가 만약 192.168.100.10이라면 192.168.100.10:설정한포트/gui로 접속하면 됩니다. 저의 경우 192.168.100.10:8899/gui 입니다.


접속한 화면입니다.

공유기가 있고 외부에서 접속할 경우 포트 포워딩을 해줘야 합니다.



EXIF Viewer겸 HSV 공간 분포도 프로그램입니다.


- 개발 환경 및 사용 라이브러리

win8

vs 2010

OpenGL

OpenCV

FreeImage

MySQL

Google Map API

Daum Local API

실행 테스트는 XP x86, 7 x64, 8 x64에서 했습니다.


RGB나 YCbCr, YIQ, CMYK 등의 색상 모델은 대체로 시스템이나 하드웨어에서의 사용을 위해 만들어진 색상 모델이라면 HSV( Hue Saturation Value )는 인간의 색인지에 기반을 둔 사용자 지향성 색상모델입니다.


인간이 색을 인지하는 방식이 직관적이고 자연스럽기 때문에 HSV 컬러 모델은 시각 예술에 자주 쓰인다고 하네요. 일상에서도 자주 쓰이는데, 오렌지 색을 표현할 때 RGB성분으로 R=245, G=110, B=20으로 표현하는 것보다는, 색상(H)은 오렌지색이며 명도(V)는 밝고 채도(S)는 짙다고 표현하면 어떤 색인지 금방 떠올릴 수 있을 것입니다. 이처럼 인간이 색을 표현할 때 자주 사용하는 표현 방법이 HSV 표현과 비슷하다고 합니다.



- HSV 색 분포도

240 전후는 파랑, 60 전후는 노랑 등, 색마다 수치가 정해져 있습니다.

- RGB를 HSV로 바꾸는 공식


- 프로그램 외형


사진을 열어서 평면으로 출력중입니다. 히스토그램도 같이 출력됩니다.


HSV 중 색상(H) 분포도 입니다. 3D상에 수치는 나와있지 않지만 아래를 바닥을 0, 천장을 360으로 했을때 초록색이라 120 전후에 분포해 있습니다.


채도(S) 분포도입니다.


밝기(V) 분포도입니다. 어두운 부분은 아래로, 밝은 부분은 위로 향합니다.


흑백으로 출력한 화면입니다.



색상 영역을 잘 나타내는 그림 2장입니다. 색상에 따라 0부터 360 사이에서 분포합니다. 잘보면 색상 분포 순서가 무지개색입니다.



조건을 줘서 초록색만 출력해봅니다.


EXIF정보 입니다. 무슨 카메라에 어떤 렌즈로 찍었는지, 위치는 어디인지, 어떤 소프트웨어로 수정 했는지 등이 나옵니다. 물론 데이터가 있을때만 출력되고 Ctrl+C로 선택한 아이템이 클립보드로 복사도 됩니다.


요즘 스마트폰으로 찍은 사진이거나 DSLR에 GPS장비를 장착하면 위치정보가 기록되는데, 그 기록된 데이터를 바탕으로 아래 지도에 표시합니다. 지도는 다음 지도와 구글 지도 두 가지입니다.


사진에 위치 정보가 없을 경우 초기 위치인 경복궁이 나옵니다.


아래는 구글 맵을 선택한 화면입니다.


맵은 옵션에서 고를 수 있습니다.


EXIF정보가 있을 경우 HTML파일로도 출력이 가능합니다.

아래 정보를 보면

카메라는 Sony SLT-A99V 모델에

조리개는 F2.8

찍은 날짜는 13년 9월 18일

셔속은 1/5000

등을 알 수 있습니다.


'프로그래밍 관련 > 자작 프로그램' 카테고리의 다른 글

ip 확인 프로그램 - 오뇽 IP  (2) 2013.12.20
각도기 프로그램  (60) 2013.11.28
위경도 도, 도분, 도분초 변환  (19) 2013.10.17
Point Cloud  (0) 2013.10.02
무료 로또 프로그램 - 오뇽 로또  (399) 2013.09.13
넷마블 틀린그림찾기 매크로  (17) 2013.04.01
HSV Cam Viewer  (4) 2013.03.31

+ Recent posts