В жизни программиста часто возникают ситуации, когда необходимо преобразовать int в char и обратно.
Здесь хотел бы Вам показать несколько полезных примеров, оторыми пользуюсь сам.
С/С++
Include: stdlib.h или math.h
Функции:
double atof( char *string );
int atoi( char *string );
long atol( char *string );
long double _atold( char *string );
Как видно данные функции преобразуют символьную строку в число. Пример:
#include <iostream.h>
#include <stdlib.h>
int main()
{
char * szString = "0123456789";
int i;
i = atoi(szString);
cout<<i;
return 0;
}
Теперь наоборот, из число в символьную строку.
char *itoa( int value, char *string, int radix );
char *ltoa( long value, char *string, int radix);
char *ultoa( unsigned long value, char*string, int radix );
Пример:
#include <iostream.h>
#include <stdlib.h>
int main()
{
char * szString = new char[17];
int i = 1234567890;
itoa(i,szString,10);
cout<<szString;
delete szString;
return 0;
}
API
В Api функциях нашел только преобразование из числа в символьную строку:
int wsprintf(LPTSTR lpOut, LPCTSTR lpFmt, ...);
Пример:
#include <iostream.h>
#include <windows.h>
int main()
{
char * szString = new char[17];
int i = 12345;
wsprintf(szString,"%d",i);
cout<<szString;
delete szString;
return 0;
}
MFC
В MFC есть очень удобный класс по работе со строками CString, в его составе есть метод Format().
Пример:
#include <iostream.h>
#include <afx.h>
int main()
{
CString m_string;
int i = 123456789;
m_string.Format("%d",i);
cout<<m_string;
return 0;
}
Здесь описаны не все способы, надеюсь, что-то Вам пригодится.