c语言字符串 数字转换函数大全
扫描二维码
随时随地手机看文章
转载:c语言字符串 数字转换函数大全
字符串数字转换到底什么意思呢:
字符串和数字的编码不一样,字符串是按照国际标准ASCII码表进行编码,每个数字都是一个8位的ASCII码(也就是一个字节大小);
而数字是按照其大小直接编码成二进制,不论这个数字有多长,均直接码成二进制位。如126如果按字符串进行编码,需要3个字节,而按数字编码,只需要一个字节长度(一个字节可以表示数字从0到255,即从00000000到11111111)。所以相同的数字按照字符方式和数字方式编码后的结果是不一样的。
将给定的一个字符串转换成整数。
int Invert(char *str)
{
int num=0;
while(*str!=' ')
{
int digital=*str-48;//相当于 '0' - 48 = 0
num=num*10+digital;
str=str+1;
}
return num;
}
atof(将字符串转换成浮点型数)
atoi(将字符串转换成整型数)
atol(将字符串转换成长整型数)
strtod(将字符串转换成浮点数)
strtol(将字符串转换成长整型数)
strtoul(将字符串转换成无符号长整型数)
toascii(将整型数转换成合法的ASCII 码字符)
toupper(将小写字母转换成大写字母)
tolower(将大写字母转换成小写字母)
atof(将字符串转换成浮点型数)
相关函数 atoi,atol,strtod,strtol,strtoul
表头文件 #include
函数说明 strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整
型数。参数base范围从2至36,或0。参数base代表采用的进制方
式,如base值为10则采用10进制,若base值为16则采用16进制数
等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符
则会使用16进制做转换。一开始strtoul()会扫描参数nptr字符串,
跳过前面的空格字符串,直到遇上数字或正负符号才开始做转换,
再遇到非数字或字符串结束时(' ')结束转换,并将结果返回。若
参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符
指针由endptr返回。
返回值 返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno
中。
附加说明 ERANGE指定的转换字符串超出合法范围。
范例 参考strtol()
toascii(将整型数转换成合法的ASCII 码字符)
相关函数 isascii,toupper,tolower
表头文件 #include