Преобразование чисел в строку и обратно

В жизни программиста часто возникают ситуации, когда необходимо преобразовать 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;
}

Здесь описаны не все способы, надеюсь, что-то Вам пригодится.

 
« Предыдущая статья   Следующая статья »