一、 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;
}
借鉴于: