C언어 \ C++
[C언어] c언어 char -> int 변환 (C언어 문자열 정수 변환, 아스키코드 변환)
안산드레아스
2021. 11. 15. 23:04
반응형
아래 char[] 배열 내에 String형태로 "1234"를 넣었다.
이 내부에 1234는 정수형 타입이 아니고 문자형태이다. 즉 아스키코드가 49,50,51,52,NULL 이렇게 들어간 것이다.
이를 정수형태 integer 형태로 바꿔주는 함수이다.
#include<stdio.h>
#include<string.h>
int convert(char a[],int num);
int main()
{
char a[] = "1234"; // 문자열 아스키코드 [49,50,51,52,null] 이 입력된 상태.
int num=0;
num = convert(a,num);
printf("%d", num);
return 0;
}
int convert(char a[],int num)
{
for (int i = 0; a[i]; i++)
{
a[i] = a[i] - 48;
num = num * 10;
num = num + a[i];
}
return num;
}
(결과)
반응형
위 함수를 통과하면 실제 정수(int) 형태인 1234가 나오게 된다.
(C언어 아스키코드를 대문자를 소문자로, 소문자를 대문자로 변환시켜주는 코드)
https://ansan-survivor.tistory.com/1035
[C언어] c언어 소문자 대문자 변환, 대문자 소문자 변환
아래 코드는 사용자의 입력을 받아 만약 대문자면 소문자로 변환시키고, 소문자면 대문자로 변환시키는 코드이다. 원래 gets 함수를 사용했지만, visual studio에서는 gets_s를 써야 한다고 한다... 그
ansan-survivor.tistory.com
반응형