<stdlib.h>头文件中定义了类型转换函数,比如将字符转浮点、转整型等。
double? atof(char* a);将字符串a转换成浮点数并返回这个浮点数
int atoi(char* a);将字符串a转换成整数并返回这个整数
long atol(char* a);将字符串a转换成长整数并返回这个长整数
char* ultoa(unsigned long value,char* str, int radix);将无符号整型数value转换成字符串并返回该字符串,radix为转换时所用基数
char* itoa(int value, char* string, int radix);将整数value转换成字符串存入string,radix为转换时所用基数
double strod(char* str, char** endptr);将字符串str转换成双精度数,并返回这个数
long strtol(char* str,char** endptr,int base); 将字符串str转换成长整型数,并返回这个数
类型转换函数代码例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
#include <iostream> using namespace std; int main() { double da = atof("1.23"); int ia = atoi("1"); long la = atol("1"); unsigned long lnumber = 3123456789L; char string1[25]; ultoa(lnumber,string,10); printf("string = %s unsigned long = %lu\n",string,lnumber); int number=123456; char string2[25]; itoa(number,string,10); printf("integer=%d string=%s\n",number,string); char a[]=”1000000000”; char b[]=”1000000000”; char c[]=”ffff”; printf(“a=%d\n”,strtod(a,NULL,10)); printf(“b=%d\n”,strtod(b,NULL,2)); printf(“c=%d\n”,strtod(c,NULL,16)); char buffer[20] = "10379cend$3"; char *stop; printf("%d\n", strtol(buffer, &stop, 2)); printf("%s\n", stop); system("pause"); return 0; } |