目录
1.atoi(字符串转换为int类型)
2.atof(字符串转换为float类型)
3.atol(字符串转换为long类型)
4.strtol(字符串转换为long类型,但可以选择转换的进制,以及标记结束字符地址)
5.strtod(字符串转换为double类型,可以标记结束字符地址)
6.整数和浮点数转换为字符串
输入一个数字字符将其转换为对应具体数据类型的数据。你或许想到利用类型转换,直接使用
int I = '3';
但我们看到这样的类型转换赋的值是51,这是因为字符'3'的ASCII码是51,这种情况我们可以通过直接减去48或者'\0'来显示正确的数,
#include <stdio.h>
#include <string.h>
int main()
{
int n = '3'-'0';
printf("n: %d", n);
return 0;
}
但这样存在很大的局限性。比如“89”呢?对于这样的数我们就需要特定的函数对其进行处理。这个时候你可以选择自己编写处理代码,也可以使用<stdlib.h>头文件提供的函数
1.atoi(字符串转换为int类型)
如果不是数字字母,返回0
如果有数字和字母,只显示出现字母前的数字
2.atof(字符串转换为float类型)
3.atol(字符串转换为long类型)
在long和int占用存储字节一样的系统中,效果都一样,根据具体情况自行使用
4.strtol(字符串转换为long类型,但可以选择转换的进制,以及标记结束字符地址)
strtol(转换字符串地址,记录结束地址指针,要转换的进制)
这里转换为16进制,所以end标记在G(16进制0~A~F)
5.strtod(字符串转换为double类型,可以标记结束字符地址)
strtol(转换字符串地址,记录结束地址指针)
6.整数和浮点数转换为字符串
如果想把整数和浮点数转换为字符串,虽然头文件提供
itoa()和ftoa()分别转换为整数和浮点数
itoa(数字,存储位置字符数组,要转换的进制)
ftoa(数字,存储位置字符数组)
不过itoa和ftoa已经不能用了。如果想使用这种功能可以使用sprintf(或者你自己写这种功能的函数,但完全没必要了),这个函数就和printf功能一样,只不过它会将原本打印在终端的字符串送入字符数组中。
好了朋友们我们今天的内容到这就结束了,今天的内容到这里就结束了,如果有啥不会的朋友记得论坛里面提问哈~
如果朋友你感觉文章的内容对你有帮助,可以点赞,关注文章和专栏以及关注我哈,嘿嘿嘿我会定期更新文章的,谢谢朋友你的支持哈