본문 바로가기

Programming/C&CPP

C++ string을 int로 변경하는 방법 프로그래밍을 하다 보면 다양한 타입들을 변환해야 하는 상황이 생깁니다. C++에서 int나 long 타입을 string으로 변환하는 것은 아래에서 확인 가능합니다. 2019/11/15 - [Programming/C&CPP] - C++ int를 string으로 변경하는 방법 C++ int를 string으로 변경하는 방법 C++의 string 클래스는 int나 float, double 같은 타입을 변환하는 메소드를 가지고 있지 않습니다. 다만 표준인 stringstream이나 boost의 lexical_cast를 활용해서 변환이 가능합니다. 아래 링크를 통해 int 등.. psychoria.tistory.com 반대로 string을 int로 변환하는 방법들을 소개합니다. 1. std::stringstream.. 더보기
C++ int를 string으로 변경하는 방법 C++의 string 클래스는 int나 float, double 같은 타입을 변환하는 메소드를 가지고 있지 않습니다. 다만 표준인 stringstream이나 boost의 lexical_cast를 활용해서 변환이 가능합니다. 이 방법 외에도 C++11에서 추가된 std::to_string()을 통해 변환이 가능합니다. 반대로 string을 int로 변환 역시 지원하며 아래 링크에서 확인 가능합니다. 2019/11/18 - [Programming/C&CPP] - C++ string을 int로 변경하는 방법 C++ string을 int로 변경하는 방법 프로그래밍을 하다 보면 다양한 타입들을 변환해야 하는 상황이 생깁니다. C++에서 int나 long 타입을 string으로 변환하는 것은 아래에서 확인 가능합니.. 더보기
C++ std::string 토큰(Token) 분리 방법(Tokenize) 한 문자열에 데이터가 공백 등의 특정 문자를 기준으로 저장되는 경우가 있습니다.CSV 파일 형식의 경우 데이터가 ,(Comma)로 구분됩니다.각각의 필드를 가져오기 위해서 쉼표를 기준으로 끊어서 문자열을 가져와야 합니다.이런 과정을 Tokenize라고 하며 대부분의 프로그래밍에서 활용됩니다. C에서는 char 배열을 strtok 함수로 특정 문자를 기준으로 토큰 추출이 가능합니다.C#과 MFC의 Tokenize 방법은 아래 링크에서 확인 가능합니다.2015/06/22 - [Programming/Win32&MFC&COM] - CString 토큰(Token)으로 분리시키기(AfxExtractSubString)2016/01/23 - [Programming/CSharp] - String.Split으로 토큰 단위.. 더보기
C++ 홀수/짝수(홀짝) 구분 방법 프로그래밍 언어에서 정수의 홀수/짝수 구분은 비교적 간단한 주제 중 하나입니다.간단한 주제이면서도 상당히 활용도가 높습니다.C++에서 간단하게 정수의 홀짝을 구분하는 방법은 다음과 같습니다. 1. % 연산자(Modulus operator) 먼저 % 연산자로 사칙연산 급으로 취급되는 가장 기본적인 연산자입니다.Modulus operator로 불리며 정수 나눗셈의 몫이 아닌 나머지 값을 리턴합니다.정수를 2로 나눴을 때 나머지가 0이기 때문에 이것을 기준으로 홀수/짝수 구분이 가능합니다. 2. & 연산자(Bitwise AND operator)비트 연산자 중 하나인 & 연산자를 사용하는 방법 역시 가능합니다.짝수 정수의 가장 우측에 있는 비트가 0인 점을 이용하는 방법입니다.정수와 1을 & 연산자로 연산하면 .. 더보기
C++ volatile 키워드 사용 C++ volatile 키워드는 다른 키워드에 비해서 잘 사용되지 않는 편입니다. 일반적으로 volatile 키워드는 해당 변수의 컴파일러 최적화를 제한하는 용도로 사용합니다. 컴파일러는 훌륭하게 최적화를 실행하지만 volatile을 사용해서 최적화를 제한해야 하는 상황이 있습니다. 1. 첫 번째 예제 먼저 다음과 같이 멀티스레드 환경의 경우입니다. #include #include #include int i; void Func1() { extern int i; int count = 0; i = 0; while (true) { if (1 == i) std::cout 더보기
Visual C++ 확장 문법 property C#에는 property라는 개념이 존재합니다. 일반적으로 클래스에 변수가 추가될 때 protected나 private로 숨깁니다. 그리고 getter, setter를 통해서 값을 변경하고 가져오는 방법을 사용합니다. C#에서는 간편하게 자동 구현 프로퍼티를 통해서 변수 자체에서 get, set 기능을 추가할 수 있습니다. Visual Studio의 C++은 확장을 통해서 property 기능을 제공합니다. 표준 C++ 구현이 아니기 때문에 다른 컴파일러에서는 컴파일되지 않습니다. 사용 방법은 다음과 같습니다. #include class Percentage { public: void putPercent(int nVal) { nValue = nVal; } int getPercent() { return nV.. 더보기
shared_ptr에서 배열(array) delete[]로 해제하는 방법 shared_ptr은 C++에서 제공하는 스마트 포인터입니다.메모리의 관리가 까다로운 C++에서 유용하게 사용이 가능합니다.shared_ptr은 참조 카운트(Reference Count)를 통해서 메모리 해제 시점을 결정합니다.shared_ptr은 기본적으로 사용된 메모리를 delete로 해제하게 됩니다.배열(new [])이 저장되어 있을 경우에 배열의 해제를 할 수 있는 방법은 다음과 같습니다.1. delete[]를 호출하는 함수 객체를 생성초기화를 할 때 포인터와 함께 메모리를 해제할 때 사용할 함수를 전달하는 방법입니다.shared_ptr은 생성자에 메모리 해제를 위한 deleter를 전달할 수 있습니다.메모리 할당을 위한 함수를 전달하는 것도 가능합니다.함수 객체 혹은 함수를 전달해서 shared.. 더보기
C++ REST SDK(카사블랑카) wstring으로 받는 법 C++ REST SDK를 통해서 파일로 받는 방법은 아래 링크를 참조하시면 됩니다.2015/06/25 - [Programming/C&C++] - C++ REST SDK(카사블랑카)로 웹페이지 가져오기일반적으로 HTTP클라이언트는 파일을 생성하지 않습니다.받은 결과를 직접 파싱해서 사용하는 것이 일반적인 방식입니다.std::wstring으로 결과를 전달받는 전체 코드는 다음과 같습니다.wstring으로 전달 받은 이후에 XML 파서(Parser) 등으로 원하는 값을 출력하면 됩니다. #include // std::wstring #include // std::vector #include // std::pair #include int main() { // return wstring value std::wstr.. 더보기