atof(),atoi(),itoa()和stoi(),c_str()函数的用法

一、 atof()

头文件#include<stdlib.h>/include<cstdlib>

原型:double atof(const char *nptr);

作用:把字符串转换成浮点数,直至遇到第一个空格。

二、 itoa()

头文件#include<stdlib.h>/include<cstdlib>

原型:char* itoa(int value,char* string,int radix);其中,value是要转换的整数值,string是存储转换后值的字符数组,radix代表进制,radix=10就是十进制,radix=2就是二进制。

作用:将整数转换为字符串。

下面是我在使用这个函数时遇到的一些问题,

1. 第二个参数只能是char*,不能是string;

2. 第二个参数在使用之前必须提前分配存储空间,在C++中就是new一块内存。

三、atoi()与stoi()

头文件: #include<stdlib.h>/#include<cstdlib>

原型:int atoi(const char *nptr);

作用:把字符串转换成整型数。如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字或结束符 \0 时停止转换,返回整型数。atoi()不会做范围检查,如果超出范围的话,超出上界,则输出上界,超出下界,则输出下界;stoi()会做范围检查,默认范围是在int的范围内的,如果超出范围的话则会runtime error!

四、c_str()

头文件:include<cstring>

作用:将string对象,转化为char*对象。它是String类中的一个函数,它返回当前字符串的首字符地址。

用法示例:

#include <bits/stdc++.h>
using namespace std;
int main()
{
        string str1 = "237";
        int a = atoi(str1.c_str());
        cout<<a<<endl;
        return 0;
}

 

借鉴于:

https://blog.csdn.net/N1neDing/article/details/83313994

https://blog.csdn.net/qq_41822647/article/details/85042385

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值