Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++에서 int를 string으로 변환하는 가장 쉬운 방법

이 글에서는 C++에서 정수(int)를 문자열(string)로 변환하는 방법을 알아봅니다.

변환 로직은 매우 간단합니다. 핵심은 sprintf() 함수입니다. 이 함수는 값을 콘솔 화면이 아닌 문자열 버퍼에 출력(저장)한다는 점만 printf()와 다릅니다. 첫 번째 인자는 변환된 데이터를 저장할 문자열 버퍼가 됩니다.

입력 및 출력 형식

입력: 사용자가 숫자 값 입력 (예: 42)
출력: 해당 숫자의 문자열 표현 반환 (예: "42")

알고리즘

  1. 사용자로부터 숫자를 입력받습니다.
  2. 결과를 저장할 빈 문자열 버퍼를 생성합니다.
  3. sprintf() 함수를 사용해 숫자를 문자열로 변환합니다.
  4. 프로그램을 종료합니다.

예제 코드

#include<stdio.h>

main() {
    char str[20]; // 숫자를 저장할 빈 문자열 생성
    int number;
    printf("Enter a number: ");
    scanf("%d", &number);

    sprintf(str, "%d", number); // sprintf 함수로 숫자를 문자열로 변환
    printf("You have entered: %s", str);
}

실행 결과

Enter a number: 46
You have entered: 46

참고: C++11 이상에서는 std::to_string() 활용

C++11부터는 <string> 헤더의 std::to_string() 함수를 사용하면 더욱 간결하고 안전하게 변환할 수 있습니다. 별도의 문자열 버퍼 크기를 관리할 필요가 없어 버퍼 오버플로 위험도 줄어듭니다.

#include<string>

int number = 42;
std::string str = std::to_string(number); // 숫자를 문자열로 변환

전통적인 C 스타일 코드와의 호환이 필요하다면 sprintf()를, 모던 C++ 환경이라면 std::to_string()을 사용하는 것이 좋습니다.