CString -> Char array 변환

300x250

 

 

 

프로젝트 문자집합이 Unicode 인경우 ( 기본 )

CString str = _T("Hello, world!");

// CString을 Unicode 문자열로 변환
CW2A pszConvertedAnsiString(str);
// CString의 내부 버퍼에 대한 포인터 가져오기
const char* pszConvertedString = pszConvertedAnsiString;

위의 예제에서는 CString 객체인 str을 Unicode 문자열로 변환하기 위해 CW2A 클래스를 사용했습니다. CW2A 클래스는 CString을 char 배열로 변환해주는 역할을 합니다. 그리고 pszConvertedAnsiString 변수를 통해 변환된 문자열을 얻을 수 있습니다. 이후 pszConvertedString 변수에 변환된 문자열의 포인터를 저장하였습니다.

 

 

 

프로젝트 문자집합이 멀티바이트 인경우

CString str = _T("Hello, world!");

// CString을 multibyte 문자열로 변환
CT2CA pszConvertedAnsiString(str);
// CString의 내부 버퍼에 대한 포인터 가져오기
const char* pszConvertedString = pszConvertedAnsiString;

위의 예제에서는 CString 객체인 str을 multibyte 문자열로 변환하기 위해 CT2CA 클래스를 사용했습니다. CT2CA 클래스는 CString을 char 배열로 변환해주는 역할을 합니다. 그리고 pszConvertedAnsiString 변수를 통해 변환된 문자열을 얻을 수 있습니다. 이후 pszConvertedString 변수에 변환된 문자열의 포인터를 저장하였습니다.

 

 

 

300x250

댓글()

Javascript <-> PHP 인코드 디코드

300x250

PHP나 javascript 에서 JSON 처리시 한글처리가 안되서 오류가 자주 발생한다.

따라서 json으로 변환시 한글이 들어간 값을 처리해줘야 한다.

 

 

1. PHP (한글 인코딩) -> JAVASCRIPT (디코딩) 예제

(PHP에서 한글 인코딩)

$string_data = "한글값";
$value = rawurlencode( iconv( "CP949", "UTF-8", $string_data));

 

(JAVASCRIPT 에서 한글 디코딩)

 var value = decodeURIComponent(string_value);

 

PHP에서 JSON으로 변환시  jsonencode 처리전에 값을 변환 해야한다. (아래 예제와 같이)

$my_array = array ('idx' => '1',
'msg' => rawurlencode( iconv( "CP949", "UTF-8", '한글')));

echo  json_encode($my_array);

 

 

 

2. JAVASCRIPT (한글 인코딩) ->PHP  (디코딩) 예제

(JAVASCRIPT 에서 한글 인코딩)

var string_data = "한글값";
var value = encodeURIComponent(string_data);

(PHP에서 한글 디코딩)

$value = iconv("UTF-8", "CP949", rawurldecode($string_value));
300x250

댓글()

CString 문자열 추출 함수 - Left, Mid, Right

300x250

 

 

 

※ 요약

Left  : CString 개체의 문자열에서 왼쪽을 기준으로 문자열 추출

Mid : CString 개체의 문자열에서 지정한 중간 부분의 문자열 추출

Right : CString 개체의 문자열에서 오른쪽을 기준으로 문자열 추출

 

 

※ 함수 원형 및 설명

CString  Left( int nCount ) const;
//nCount : 왼쪽 기준 추출할 문자의 수
//반환값 : 추출된 문자열을 포함하는 CString 임시 개체

CString  Right( int nCount ) const;
//nCount : 오른쪽 기준 추출할 문자의 수
//반환값 : 추출된 문자열을 포함하는 CString 임시 개체

CString  Mid( int nFirst ) const;
CString  Mid( int nFirst, int nCount ) const;
//nFirst : 추출을 시작할 문자열의 위치
//nCount : 추출할 문자의 수
//반환값 : 추출된 문자열을 포함하는 CString 임시 개체

 

 

※ 예제

#include <atlstr.h>		//CString

int main( )
{
	CString strDate( "2022-06-08" );
	
	CString strYear;
	CString strMonth;
	CString strDay;

	strYear = strDate.Left( 4 );
	strMonth = strDate.Mid( 5, 2 );
	strDay = strDate.Right( 2 );
	
	printf( "%s년 %s월 %s일", strYear, strMonth, strDay );

	return 0;
}

 

 

300x250

댓글()