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