C++ 中 char 与 int 转换问题
itoa
功 能:把一整数转换为字符串
函 数:char *itoa(int value, char *string, int radix);
解 释:itoa 是英文integer to array(将 int 整型数转化为一个字符串,并将值保存在数组 string 中)的缩写。
参 数:value: 待转化的整数。
radix: 是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制。
*string: 保存转换后得到的字符串。
返回值:char* 指向生成的字符串, 同*string。
备 注:在 C 语言中该函数的头文件是"stdlib.h"。
示 例:
#include <iostream> using namespace std; int main() { int num = 123456; char str[25]; itoa(num, str, 10); cout<<"interger = "<<num<<endl; cout<<"string = "<<str<<endl; return 0; }
结 果:interger = 12345
string = 123456
atoi
功 能:把字符串转换成整型数
函 数:int atoi(const char *nptr);
说 明:atoi()会扫描参数nptr字符串,检测到第一个数字或正负符号时开始做类型转换,之后检测到非数字或结束符 \0 时停止转换,返回整型数。
备 注:在 C 语言中该函数的头文件是"stdlib.h"。
示 例:
#include <iostream> using namespace std; int main() { int num; char *str = "12345.67"; num=
atoi(str); cout<<"interger = "<<num<<endl; cout<<"string = "<<str<<endl; return 0; }
结 果:interger = 12345
string = 12345.67
- char 转 string
string s(char *);
这里的只能初始化,在不是初始化的地方最好还是用 assign()。
- string 转 char *
char *p = string.c_str();
文章来自 雨儿的博客,更多请参见该博文。