int를 ASCII 문자로 변환
나는 가지고있다
int i = 6;
그리고 나는 원한다
char c = '6'
변환에 의해. 제안하는 간단한 방법이 있습니까?
편집 : 또한 난수를 생성하고 문자로 변환 한 다음 '.txt'를 추가하고 ifstream에서 액세스해야합니다.
간단한 방법 :
char digits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
char aChar = digits[i];
더 안전한 방법 :
char aChar = '0' + i;
일반적인 방법 :
itoa(i, ...)
편리한 방법 :
sprintf(myString, "%d", i)
C ++ 방식 : (Dave18 답변에서 가져옴)
std::ostringstream oss;
oss << 6;
보스 방법 :
Joe, int to char 변환기 작성
Studboss 방법 :
char aChar = '6';
조의 방법 :
char aChar = '6'; // int i = 6;
Nasa의 방법 :
// 위성에서 응답을 기다리는 중 ...
외계인의 길 : '9'
//인사말.
하나님의 방법 :
Bruh 나는 이것을 만들었다
Peter Pan의 방법 :
char aChar;
switch (i)
{
case 0:
aChar = '0';
break;
case 1:
aChar = '1';
break;
case 2:
aChar = '2';
break;
case 3:
aChar = '3';
break;
case 4:
aChar = '4';
break;
case 5:
aChar = '5';
break;
case 6:
aChar = '6';
break;
case 7:
aChar = '7';
break;
case 8:
aChar = '8';
break;
case 9:
aChar = '9';
break;
default:
aChar = '?';
break;
}
산타 클로스의 방법 :
//Wait till Christmas!
sleep(457347347);
중력의 방식 :
//뭐
'6'(저지) Mikes '™ 방식 :
//
그래서 방법 :
여러분, C ++ 초보자 가이드를 어떻게 읽지 않습니까?
내 방식 :
또는 고속도로.
댓글 : Handy way와 C ++ way (완전한 컬렉션을 갖기 위해)를 추가했고 이것을 위키로 저장하고 있습니다.
편집 : 만족?
이것은 정수 0-9에서만 작동하지만 귀하의 질문은 충분할 수 있음을 시사하는 것 같습니다.
char의 ASCII 값을 '0'
정수 자리 에 추가하여 작동합니다 .
int i=6;
char c = '0'+i; // now c is '6'
예를 들면 :
'0'+0 = '0'
'0'+1 = '1'
'0'+2 = '2'
'0'+3 = '3'
편집하다
"알파벳 작업"이란 무슨 뜻인지 명확하지 않습니까? 알파벳의 다섯 번째 글자를 원하는 경우 :
int i=5;
char c = 'A'-1 + i; // c is now 'E', the 5th letter.
C / Ascii에서 A는 알파벳 의 0 번째 문자 로 간주되기 때문에 일반적으로 이해되는 5 번째 문자의 의미를 보완하기 위해 마이너스 -1을 수행합니다.
특정 상황에 맞게 조정하십시오.
(그리고 테스트 테스트 테스트! 작성한 모든 코드)
참고로 한 자리 이상의 숫자를 원하면 sprintf를 사용할 수 있습니다.
char txt[16];
int myNum = 20;
sprintf(txt, "%d", myNum);
그런 다음 첫 번째 숫자는 txt [0]의 문자에 있습니다.
(이것은 C ++ 방식이 아니라 C 방식입니다. C ++ 방식은 stringstream을 사용하는 것입니다.)
이 작업을 수행하는 방법은 다음과 같습니다.
char to int
char var;
cout<<(int)var-48;
int to char
int var;
cout<<(char)(var|48);
그리고 나는 변환을 위해 이러한 함수를 작성합니다.
int char2int(char *szBroj){
int counter=0;
int results=0;
while(1){
if(szBroj[counter]=='\0'){
break;
}else{
results*=10;
results+=(int)szBroj[counter]-48;
counter++;
}
}
return results;
}
char * int2char(int iNumber){
int iNumbersCount=0;
int iTmpNum=iNumber;
while(iTmpNum){
iTmpNum/=10;
iNumbersCount++;
}
char *buffer=new char[iNumbersCount+1];
for(int i=iNumbersCount-1;i>=0;i--){
buffer[i]=(char)((iNumber%10)|48);
iNumber/=10;
}
buffer[iNumbersCount]='\0';
return buffer;
}
itoa ()
http://www.cplusplus.com/reference/clibrary/cstdlib/itoa/
이것이 제가 숫자를 ASCII 코드로 변환 한 방법입니다. 16 진수 코드에서 0이지만 9는 0x30-0x39입니다. 6은 0x36입니다.
unsigned int temp = 6;
or you can use unsigned char temp = 6;
unsigned char num;
num = 0x30| temp;
그러면 6에 대한 ASCII 값이 제공됩니다. 0-9에 대해서도 동일하게 수행합니다.
ASCII를 숫자 값으로 변환하기 위해이 코드를 생각해 냈습니다.
unsigned char num,code;
code = 0x39; // ASCII Code for 9 in Hex
num = 0&0F & code;
"나는 int i = 6이고, 변환으로 char c = '6'을 원합니다. 제안하는 간단한 방법이 있습니까?"
숫자는 10 개뿐입니다. 따라서 0-9에서 int를 취하고 ascii 코드를 반환하는 함수를 작성하십시오. ascii 테이블에서 찾아보고 ifs 또는 select case로 함수를 작성하십시오.
대체 방법이지만 비표준입니다.
int i = 6;
char c[2];
char *str = NULL;
if (_itoa_s(i, c, 2, 10) == 0)
str = c;
또는 표준 C ++ stringstream 사용
std::ostringstream oss;
oss << 6;
나는 생각한다
std::to_string(i)
일을 할 수 있고, 오버로드 된 함수이고, 어떤 숫자 유형도 될 수 있습니다.
A PROGRAM TO CONVERT INT INTO ASCII.
#include<stdio.h>
#include<string.h>
#include<conio.h>
char data[1000]= {' '}; /*thing in the bracket is optional*/
char data1[1000]={' '};
int val, a;
char varray [9];
void binary (int digit)
{
if(digit==0)
val=48;
if(digit==1)
val=49;
if(digit==2)
val=50;
if(digit==3)
val=51;
if(digit==4)
val=52;
if(digit==5)
val=53;
if(digit==6)
val=54;
if(digit==7)
val=55;
if(digit==8)
val=56;
if(digit==9)
val=57;
a=0;
while(val!=0)
{
if(val%2==0)
{
varray[a]= '0';
}
else
varray[a]='1';
val=val/2;
a++;
}
while(a!=7)
{
varray[a]='0';
a++;
}
varray [8] = NULL;
strrev (varray);
strcpy (data1,varray);
strcat (data1,data);
strcpy (data,data1);
}
void main()
{
int num;
clrscr();
printf("enter number\n");
scanf("%d",&num);
if(num==0)
binary(0);
else
while(num>0)
{
binary(num%10);
num=num/10;
}
puts(data);
getch();
}
내 코딩과 잘 작동하는지 확인하고 도움이되는지 알려주세요. 감사합니다.
참고 URL : https://stackoverflow.com/questions/4629050/convert-an-int-to-ascii-character
'UFO ET IT' 카테고리의 다른 글
iOS AutoLayout-프레임 크기 너비 가져 오기 (0) | 2020.12.13 |
---|---|
PHP를 사용하여 임의의 문자열을 만드는 방법은 무엇입니까? (0) | 2020.12.13 |
openSUSE 13.2에서 실행되는 Android Studio Workspace의 장치에 대한 권한이 부족합니다. (0) | 2020.12.13 |
당신이 만난 가장 큰 R-gotcha는 무엇입니까? (0) | 2020.12.13 |
Windows 작업 관리자를 해석하는 방법은 무엇입니까? (0) | 2020.12.12 |