C에서 정수를 문자로 변환하는 방법

Satishkumar Bharadwaj 2023년10월12일
  1. 출력:
  2. 다음은 예시입니다:
  3. sprintf() 함수는 printf() 함수와 유사하게 작동하지만, 출력을 콘솔로 보내기 대신 서식이 지정된 문자열을 반환합니다. 이를 통해 정수를 문자로 변환하고 문자열에 저장할 수 있습니다.
  4. 결론
C에서 정수를 문자로 변환하는 방법

'0'의 ASCII 값은 48입니다. 따라서 정수에 그 값(48)을 더하면 해당하는 문자로 변환됩니다.

다음은 이 방법을 보여주는 완전한 C 프로그램입니다:

출력:

'0'의 ASCII 값이 48이고, 71을 48에 더하면 119가 됩니다. ASCII 문자 집합에서 값 119는 문자 w에 해당합니다.

따라서 프로그램의 출력은 문자 값 w를 표시합니다.

#include <stdio.h>
int main(void) {
  int number = 71;

  char charValue = number + '0';
  printf("The character value is: %c", charValue);

  return 0;
}

또한 0부터 9까지의 정수를 문자로 변환하기 위해 동일한 방법을 사용할 수 있습니다:

The character value is: w

출력:

여기에서 코드는 charValue라는 문자 변수를 선언하고, number에 저장된 정수에 '0'의 ASCII 값을 더하여 그 값도 계산합니다.

C에서 문자는 ASCII 인코딩을 기반으로 정수로 표현되므로 이 작업은 정수 7을 문자 '7'로 변환합니다.

#include <stdio.h>
int main(void) {
  int number = 7;
  char charValue = number + '0';
  printf("The value is: %c", charValue);
  return 0;
}

정수 값을 문자로 변환하는 또 다른 프로그램은 다음과 같습니다:

The value is: 7

출력:

위의 코드에서는 charValue라는 문자 배열을 문자열 "stringValueX"로 초기화하고, anyNumber라는 정수 변수를 선언합니다.

그런 다음 0에서 9까지 반복하는 for 루프에 진입합니다. 루프 내에서 코드는 charValue의 인덱스 11에 anyNumber의 값을 '0'의 ASCII 값에 더하여, X를 0부터 9까지의 숫자로 바꿉니다.

#include <stdio.h>

int main(void) {
  char charValue[] = "stringValueX";
  int anyNumber;
  for (anyNumber = 0; anyNumber < 10; ++anyNumber) {
    charValue[11] = anyNumber + '0';
    puts(charValue);
  }
  return 0;
}

puts(charValue) 함수는 각 반복에서 수정된 charValue를 개행된 채로 출력합니다. 결과적으로, "stringValueX"X가 각각 개행된 0부터 9까지 숫자로 대체되어 출력됩니다.

stringValue0
stringValue1
stringValue2
stringValue3
stringValue4
stringValue5
stringValue6
stringValue7
stringValue8
stringValue9

int 값을 char 값에 할당하여 C에서 intchar로 변환하세요

정수 값을 문자 값으로 변환하는 또 다른 방법은 정수를 직접 문자 변수에 할당하는 것입니다. 정수 값에 해당하는 문자 값이 출력됩니다.

다음은 예시입니다:

출력:

정수를 문자로 변환하기 위해 명시적인 형 변환도 사용할 수 있습니다. 아래의 예시 코드를 확인하세요.

#include <stdio.h>

int main(void) {
  int number = 65;
  char charvalue = number;

  printf("The character value: %c", charvalue);

  return 0;
}

출력:

The character value: A

이 프로그램에서는 (char)를 변수 이름 앞에 붙여 정수 변수 number의 값을 명시적으로 문자로 캐스팅합니다. 이 형 변환은 number를 문자로 처리하도록 컴파일러에 알려줍니다.

#include <stdio.h>
int main(void) {
  int number = 67;
  char charValue = (char)number;
  printf("The character value = %c", charValue);

  return 0;
}
The character value = C

sprintf() 함수를 사용하여 intchar로 변환하세요

sprintf() 함수는 printf() 함수와 유사하게 작동하지만, 출력을 콘솔로 보내기 대신 서식이 지정된 문자열을 반환합니다. 이를 통해 정수를 문자로 변환하고 문자열에 저장할 수 있습니다.

sprintf()의 문법은 다음과 같습니다:

- strValuechar 데이터 타입의 포인터입니다.

int sprintf(char *strValue, const char *format, [ arg1, arg2, ... ]);
  • format은 출력 유형과 플레이스홀더를 표시하는 데 사용됩니다.
  • [arg1,arg2...]는 변환할 정수입니다.
  • 이 함수는 strValue가 가리키는 문자열에 데이터를 작성하고, 널 문자를 제외한 문자 수를 strValue에 반환합니다. 반환값은 일반적으로 무시됩니다.

작업 중에 오류가 발생하면 -1을 반환합니다.

다음은 예시입니다:

출력:

#include<stdio.h>
int main(void)
{
  int number = 72;
  char charValue[1];

  sprintf(charValue, "%c", number);
  printf("The character value = %s", charValue);

  return 0;
}

이 예시에서는 sprintf()를 사용하여 정수 72를 문자 H로 변환하고 charValue 배열에 저장했습니다. 문자 배열(charValue)이 변환된 문자를 저장할 수 있을 정도로 충분히 크다는 것이 중요합니다.

The character value = H

결론

이 튜토리얼에서는 C 프로그래밍 언어에서 정수를 문자로 변환하는 다양한 방법을 살펴보았습니다. 각 방법은 각자의 장점과 사용 사례를 제공하여 특정 프로그래밍 요구에 적합한 방법을 선택할 수 있도록 합니다.

관련 문장 - C Integer

관련 문장 - C Char