프로그래밍/C, C++ 5

C, C++ 를 웹에서 실행

C, C++를 공부하거나 간단한 구문을 테스트하려면, 언어적인 제약으로 Visual Studio 혹은 gcc 같은 컴파일러가 있는 환경에서만 가능했었지만, 이제 온라인(웹)에서 실행할 수 있게 되었습니다. 바로 Programiz라는 사이트인데요. 아래와 같이 웹상에서 바로 코드를 작성하고 "Run"을 실행하면 결과창을 볼 수 있습니다. 이뿐만 아니라 실행 시 오류 메시지도 gcc컴파일 환경과 동일하게 출력해 주무로 간단 구문 테스트나, 공부하기에 정말 좋은 환경이라고 생각이 듭니다. 이 사이트에서는 "C"언어뿐만 아니라 "C++", "Python", "Java", "C#", "Javascript", "SQL" 언어도 지원해 주니, 더욱 유용하게 사용할 수 있을 것 같습니다. 아래는 해당 사이트의 C C..

크로스 플랫폼 개발 시 define문으로 구분하는 방법

크로스 플랫폼 개발 시 사용되는 define문 #ifdef _WIN32 // 윈도우 개발환경 #ifdef _WIN64 // 윈도우 64bit #else // 윈도우 32bit #endif #elif __APPLE__ // 애플 개발환경 #include "TargetConditionals.h" #if TARGET_IPHONE_SIMULATOR // iOS 시뮬레이터 #elif TARGET_OS_IPHONE // iOS 장치 #elif TARGET_OS_MAC // Mac OS #else # error "Unknown Apple platform" #endif #elif __linux__ // 리눅스 개발환경 #elif __unix__ // all unices not caught above // 유닉스 개발환..

C, C++ - 구조체 생성자를 사용하여 초기화

일반적인 구조체 선언 후 초기화 구조체 정의 typedef struct _MY_STRUCT { char c; int i; char sz[100]; } MY_STRUCT; 구조체 정의 및 초기화 MY_STRUCT st; // 구조체 변수 정의 memset(&st, 0x0, sizeof(st)); // 구조체 초기화 생성자에서 초기화 구조체 정의 typedef struct _MY_STRUCT { char c; int i; char sz[100]; _MY_STRUCT() { memset(this, 0x0, sizeof(struct _MY_STRUCT)); } } MY_STRUCT; 구조체 정의 MY_STRUCT st; // 구조체 변수 정의함과 동시에 생성자에 의해서 초기화됨. 생성자에서 특정 값으로 초기화 ..

C, C++ 문자열 인코딩(iconv)

iconv 라이브러리를 활용하여 문자열 인코딩 하는 방법입니다. iconv 라이브러리 홈페이지는 "https://www.gnu.org"입니다. (다운로드: https://www.gnu.org/software/libiconv/#downloading) 최신 리눅스의 경우는 기본 설치가 되어 있으며, 설치가 안 되어 있는 경우는 apt-get, rpm 혹은 소스 설치하시면 됩니다. OS가 윈도우인 경우는 라이브러리 파일(*.tar.gz)안에 README.windows에 명시되어 있는대로 빌드하여 사용하시면 됩니다. 함수 설명 주요함수: iconv_t iconv_open( const char* tocode, const char* fromcode); 설명: 현재 문자셋, 변경할 문자셋을 지정하고 Conversio..