본문 바로가기

Programming/C,C++

[C++] 자료형 변환(char* => int, int => char*, int => char, char => int)

반응형

char* => int

int => char*

int => char

char => int

로 변환하는 예제를 하나의 main문 안에 모두 정리한다.

 

 

#include <iostream>

using namespace std;

int main()
{
	// int ==> char*
	int x = 1234;
	char buf[256];
	sprintf_s(buf, "%d", x); // QT에서는 sprintf로 해도 된다.
	printf("%s\n", buf);

	// char* ==> int
	char buffer[256] = "456123";
	int num = atoi(buffer);
	printf("%d\n", num);

	// char ==> int
	char ch = '9';
	int i = ch - '0';  
	printf("%d\n", i);

	// int ==> char
	int n = 7;
	char chch = n + '0';
	printf("%c\n", chch);

	getchar();
	return 0;
}

 

번외로 int 자료형 123,456을 받아서 "123_456n" 을 만드는 예제를 업로드 한다.

참고로 이 페이지의 모든 예제는 vs2017에서 테스트하여 sprintf_s,strcpy_s등의 함수를 사용하였지만 qt나 다른 IDE에서는 _s를 붙이지 않아도 된다.

#include <iostream>
//#include <string>

using namespace std;

int main()
{
	int i = 123, j = 456;
	char buf[256];
	char tmpX[256];
	char tmpY[256];
	sprintf_s(tmpX, "%d", i);
	sprintf_s(tmpY, "%d", j);
	strcpy_s(buf, tmpX);   strcat_s(buf, "_");
	strcat_s(buf, tmpY);    strcat_s(buf, "n");

	printf("%s\n", buf);
	getchar();
	return 0;
}

 

반응형