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
반응형
300x250
반응형

https://blog.naver.com/websearch/221137780592

 

[오픈소스] 초간단 C++ WebSocket 서버 개발 방법

오픈소스 C++ HTTP stack 라이브러리를 사용하면 간단한 WebSocket 서버를 쉽고 편리하게...

blog.naver.com

 

 

 

https://github.com/YeeYoungHan/cpphttpstack

300x250
반응형

'기타 > 링크' 카테고리의 다른 글

vcpkg 설정 방법  (0) 2023.05.09
자동차 소음 원인 및 해결방법  (1) 2023.05.09
로그인, 회원가입 디자인 샘플  (0) 2023.05.06
c++ memory hacking  (0) 2023.05.05
윈도우즈 API - 윈도우 창 관련 함수  (0) 2023.05.04
300x250
반응형

https://www.youtube.com/watch?v=Vtlc-WP7iDw 

1번 프로그램의 String 변수 주소에 TEST 넣기

2번 프로그램에서 그 주소로 가서 TEST 값 출력하기

300x250
반응형

'기타 > 링크' 카테고리의 다른 글

초간단 C++ WebSocket  (0) 2023.05.07
로그인, 회원가입 디자인 샘플  (0) 2023.05.06
윈도우즈 API - 윈도우 창 관련 함수  (0) 2023.05.04
사이즈  (0) 2023.03.24
환율계산기 - 환율 우대 확인!!!  (0) 2023.02.23
300x250
반응형

https://kindtis.tistory.com/230

 

gcroot를 이용해 관리 클래스 managed class 를 멤버로 사용

C#을 툴로 사용할 경우 애로 사항이 많이 발생하네요. 이전에 올린 방법으로 비관리 코드 Native Code에서 관리 코드 Managed Code를 사용하려고 하면 우회에 우회를 통해 사용하는데 이게 너무 불편했

kindtis.tistory.com

 

https://m.blog.naver.com/PostView.naver?blogId=genenucleus&logNo=220592958447&targetKeyword=&targetRecommendationCode=1 

 

[C++/CLR] 비관리 클래스에서 관리 클래스를 멤버 선언 및 사용.

2010/08/11 [C++/CLR] 비관리 클래스에서 관리 클래스를 멤버 선언 및 사용.비관리 클래스에서 관리 클...

blog.naver.com

 

300x250
반응형

'기타 > 링크' 카테고리의 다른 글

오픈API  (0) 2023.01.17
attr() 메서드와 prop() 메서드의 차이점  (0) 2023.01.14
그래픽 비교 사이트  (0) 2022.12.12
CPU 비교 사이트  (0) 2022.12.12
에디트 플러스 소스 코드 정렬  (0) 2022.12.12
300x250
반응형

 

쉐이더 프로그램을 종료하기 위해서는  NULL 또는 0으로 값을 넣어서 종료시켜줘야 합니다.

glUseProgram(NULL); 또는 glUseProgram(0);

 

 

아래 여러 예를 들어볼께요.

예제1 ) 단순 프로그램 종료 예시 입니다.

만약 glUseProgramObjectARB을 사용했다면 똑같이 glUseProgramObjectARB로 사용하면 됩니다.

programID = LoadShaders("VertexShader.txt", "FragmentShader.txt");
glUseProgram(programID);
...
...
...
glUseProgram(NULL);

 

예제2) 여러 버퍼를 바인딩한 경우의 예시

프로그램 사용과 VAO 바인딩, 각종 버퍼를 바인딩 한 경우에는 전부 해제해줘야 한다.

programID = LoadShaders("VertexShader.txt", "FragmentShader.txt");
glUseProgram(programID);

glGenVertexArrays(1, &VAO[0]);  // 1.할당 (앞에 인자는 1개 의미)
glBindVertexArray(VAO[0]);

glGenBuffers(1, &VBO[0]);  // 1.할당 (앞에 인자는 1개 의미)
glBindBuffer(GL_ARRAY_BUFFER, VBO[0]);

glGenBuffers(1, &EBO);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBO);

...
...
...
glUseProgram(NULL);
glBindVertexArray(NULL);
glBindBuffer(GL_ARRAY_BUFFER, NULL);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, NULL);

 

 

300x250
반응형
300x250
반응형

 


아래 코드는 파일이름 변경 예제 입니다. 아래 2가지 방법중 하나를 사용하시면 됩니다.

아래 예제는 file.tmp 라는 파일을 file.xtf 로 확장자 / 이름 변경 하는 코드 입니다.

 

1. C 코드를 사용한 변환

CString full_path_tmp = GetExecutedPath() + _T("test/file.tmp");
CString full_path_xtf = full_path_tmp;        
full_path_xtf.Replace(_T(".tmp"), _T(".xtf"));


CStringA a_full_path_tmp = (CStringA)full_path_tmp;
CStringA a_full_path_xtf = (CStringA)full_path_xtf;

const char* char_path = a_full_path_tmp.GetBuffer();
const char* char_path_changed = a_full_path_xtf.GetBuffer();

rename(char_path, char_path_changed);

C 코드인 rename을 사용합니다.

해당 파라미터는 const char*를 인자로 사용하기 때문에 변환해서 넣어야 합니다.

장점은 오류 예외창이 안뜹니다.

 

 

2. MFC 코드는 사용한 변환

CString full_path_tmp = GetExecutedPath() + _T("test/file.tmp");
CString full_path_xtf = full_path_tmp;        
full_path_xtf.Replace(_T(".tmp"), _T(".xtf"));

CFile::Rename(full_path_tmp, full_path_xtf);

MFC 함수인 CFile::Rename 함수를 사용합니다.

해당 파라미터는 CString을 그대로 사용하시면 됩니다.

단점은 파일이 없을경우 오류 메시지창이 뜹니다.

 

 

간단하쥬 ㅋ

300x250
반응형
300x250
반응형

 

 

문자집합은 유니코드 기반 코드 입니다.

 

아래 코드는 CStringA로 형변환 후 GetBuffer()를 사용하여 변환하는 예제입니다.

CString file_name = _T("filename.dat");
CStringA a_file_name = (CStringA)file_name;

const char* ptr_name = a_file_name.GetBuffer();

 

아주 간단 하쥬 ㅋ

 

 

300x250
반응형
300x250
반응형

 

부동소수점 또는 0으로 나누게 되면 inf(양의 무한대), -inf(음의 무한대), -nan(ind)(숫자가 아님)이 발생 한다.

따라서 이를 예외처리하기 위한 함수로 std::isnan 함수가 있다.

 

 int isnan( float arg );
 int isnan( double arg );
 int isnan( long double arg );

 

 

사용 방법은 아래와 같다.

  만약 angle 이라는 변수를 체크 및 예외 처리 시

#include "math.h"

if(std::isnan(angle)) // 오류 발생 시
 {
       andgle = 0; // 예외처리
 }

 

 

300x250
반응형

+ Recent posts