C언어 C++ Programming

[C++언어] 문자열 정수, 실수로 변경하기(string to int, float, double, stringstream)

끄적끄적아무거나 2021. 12. 14. 08:54
반응형

 

목차

     

     

     

     

     

    [C++언어] 문자열 정수, 실수로 변경하기 (String to int, float, double)

     

    앞서 포스트에서 변수의 정의 및 종류 등에 대해 살펴 보았습니다. 이번 포스트는 string으로 변수 선언하여 만든 문자열을 정수나 실수로 바꿔서 사용하는 방법에 대해 살펴 보겠습니다. 

     

    stringstream 클래스를 사용하면 string을 실수와 정수로 변경할 수 있습니다. 

     

     

    stringstream 클래스(Class)란?

    문자열을 입력으로 받아서 해당 문자열을 변환하고자 하는 변수와 연결해서 사용할수 있습니다. 

    stringstream 클래스를 사용하기 위해서는 sstream 헤더파일을 include 하여야 합니다.

     

     

    stringstream 클래스(Class) Syntax

     

    #include <sstream>
    
    stringstream stringstream클래스명(문자열 입력값);

     

     

     

     

    [C++언어] 문자열 정수, 실수로 변경하기 예제로 이해하기

     

    코드>>

    #include <iostream>
    #include <sstream>
    using namespace std;
    
    int main()
    {
    	int a_var;
    	stringstream ss1("100");
    	ss1 >> a_var;
    	cout << a_var << "\n";
    	cout << typeid(ss1).name() << "\n";
    
    	float b_var;
    	stringstream ss2("3.14");
    	ss2 >> b_var;
    	cout << b_var << "\n";
    	cout << typeid(ss2).name() << "\n";
    	ss2 >> b_var;
    
    	double c_var;
    	stringstream ss3("3.14");
    	ss3 >> c_var;
    	cout << c_var << "\n";
    	cout << typeid(ss3).name() << "\n";
    	ss3 >> c_var;
    
    	return 0;

    7번 라인 : int 변수 선언

    8번 라인 : stringstream 클래스 사용하여 string 값 처리

    9번 라인 : ss1 변수 int 변수 a_var에 넣기

    11번 라인 : stringstream 변수 ss1 type 확인

    12번 라인 : a_var 변수 종류 확인

     

     

     

    결과>>

    100
    class std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >
    int
    3.14
    class std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >
    float
    3.14
    class std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> >
    double

     

     

    반응형