2. Преобразование численной строки в символьную:
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 );
под radix понимают основание преобразуемого числа int value в символьную строку
char *string.
Example:
#include <iostream>
#include <stdlib.h>
using namespace std; int main() { char *str = new char[17];
int i = 1234567890;
itoa(i, str, 10);
cout << str << endl;
delete szString;
return 0; }
3. Преобразование символьной строки в числовую:
double atof( char *string );
int atoi( char *string );
long atol( char *string );
long double _atold( char *string );
Example:
#include <iostream>
#include <stdlib.h>
using namespace std; int main() { char * str = "0123456789";
int i;
i = atoi(str);
cout << i << endl:
return 0; }
Выше приведенные способы относят к нестандартным расширениям языка С, дело
принципа и специфики поставленной задачи. Поэтому для этих целей можно
воспользоваться стандартными C-шными функциями, например -
int sprintf ( char * str, const char * format, ... );
Вот пример.
/* sprintf example */
#include <stdio.h>
int main ()
{
char buffer [50];
int n, a=5, b=3;
n=sprintf (buffer, "%d plus %d is %d", a, b, a+b);
printf ("[%s] is a %d char long string\n",buffer,n);
return 0;
}