그냥 게임개발자

atoi(s.c_str())?? 본문

C++ 나만의 복습

atoi(s.c_str())??

sudoju 2024. 4. 4. 00:00

atoi(s.c_str())는 C++에서 문자열 s를 정수 int로 변환하는 방법 중 하나.

여기서 atoi는 C 표준 라이브러리 함수로, "ASCII to integer"의 약자이며, const char* 타입의 C 스타일 문자열을 int로 변환한다.

s.c_str()는 string s를 const char* 로 바꿔준다.

 

문자열을 int로 바꿔야 할 상황이 있다.

 

예를 들어 입력이 "amumu" 또는 0 이렇게 온다라고 했을 때 문자열, string으로 입력을 받아 입력받은 글자가 문자열인지 숫자인지 확인해야 하는 로직이 필요할 때 말이다.

 

여기서 입력값이 문자열이면 0을반환하고

그게 아니라면 정수를 체크한다.

만약 정수라면 숫자로 올바르게 변화가 된다.

 

그럼 이 함수들을 사용해보자.

 

#include <iostream>
#include <algorithm>
#include <string>

using namespace std;

int main()
{
    string s = "1";
    string s2 = "amumu";
    cout << atoi(s.c_str()) << '\n';
    cout << atoi(s2.c_str()) << '\n';
    
    return 0;
}

 

제대로 결과가 나왔다.

1이라는 문자열은 실제 숫자로 반환이 되어 1이 나왔고

실제 문자열은 0이나온것을 확인했다.

 

'C++ 나만의 복습' 카테고리의 다른 글

bool, 참과 거짓  (0) 2024.04.04
stoi()  (0) 2024.04.04
memset이란  (0) 2024.04.03
split() 함수  (0) 2024.04.03
string - reverse()  (0) 2024.03.31