to_string과 문자열 관련 함

KimY·2025년 3월 2일

std::string::to_string()

  • 숫자 타입의 데이터를 string 타입으로 변경하는 함수이다.
  • 다양한 자료형을 넣어 사용할 수 있다.
string to_string (int num);
string to_string (long num);
string to_string (long long num);
string to_string (unsigned num);
string to_string (unsigned long num);
string to_string (unsigned long long num);
string to_string (float num);
string to_string (double num);
string to_string (long double num);

stoi, stof, stol, stod

stoi = string to int
stof = string to float
stol = string to long
stod = string to double

▼ 함수 원형
1) 정수형

int stoi(const string& str, size_t* idx = 0, int base = 10)
long stol(const string& str, size_t* idx = 0, int base = 10)

2) 실수형

float stof(const string& str, size_t* idx = 0)
double stod(const string& str, size_t* idx = 0)

▼ 매개변수가 뜻하는 것들
함수원형1 : int stoi(const string& str, size_t idx =0, int base = 10);
함수원형2 : float stof(const string& str, size_t
idx = 0);

  • 첫번째 인자(const string& str)에는 변경할 문자열이 들어간다. 또한 복사되지 않기 위해, 함수 내부에서 변경을 막기 위해 const 래퍼런스로 넘긴다.

  • 두번째 인자(size_t* idx = 0)에는 숫자가 아닌 부분의 인덱스를 넣을 곳의 주소가 들어간다.

  • 세번째 인자(int base = 10)는 진수를 알려주는 부분이다. 문자열에 표현된 숫자가 몇진수로 표현되어 있는지 알려주는 것이다.(정수형에만 존재한다.)

atoi, atof, atol

  • atoi, atof, atol은 string타입이 존재하지 않는 c언어에서 c-style 문자열을 숫자 타입으로 바꾸는 함수이다.

atoi = char to int -> 문자열을 정수 타입으로
atof = char to double -> 문자열을 실수 타입으로
atol = char to long int -> 문자열을 long 정수 타입으로

  • 함수 원형
int atoi (const char* cstylestr);
double atof (const char* cstylestr);
long int atol (const char* cstylestr);
  • "문자"를 만났을 때 반환값
  1. atoi("문자") : 문자를 만나 0을 반환
  2. atoi("숫자+문자") : 문자를 만나기 전까지의 숫자를 반환
  3. atoi("문자+숫자") : 처음부터 문자를 만나 0을 반환

std::string::c_str()

  • c_str() 함수는 string의 첫번재 문자의 주소를 반환한다.
const char* c_str() const;
// string -> char*
profile
공부합니다

0개의 댓글