int string convert
C++ int与string的转化
int本身也要用一串字符表示,前后没有双引号,告诉编译器把它当作一个数解释。缺省 情况下,是当成10进制(dec)来解释,如果想用8进制,16进制,怎么办?加上前缀,告诉编译器按照不同进制去解释。8进制(oct)---前缀加 0,16进制(hex)---前缀加0x或者0X。
string前后加上双引号,告诉编译器把它当成一串字符来解释。
注意:对于字符,需要区分字符和字符表示的数值。比如:char a = 8;char b = '8',a表示第8个字符,b表示字符8,是第56个字符。
int转化为string
1、使用itoa(int to string)

- 1 //char *itoa( int value, char *string,int radix);
- 2 // 原型说明:
- 3 // value:欲转换的数据。
- 4 // string:目标字符串的地址。
- 5 // radix:转换后的进制数,可以是10进制、16进制等。
- 6 // 返回指向string这个字符串的指针
- 7
- 8 int aa = 30;
- 9 char c[8];
- 10 itoa(aa,c,16);
- 11 cout<<c<<endl; // 1e

注意:itoa并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,请用sprintf。
2、使用sprintf

- 1 // int sprintf( char *buffer, const char *format, [ argument] … );
- 2 //参数列表
- 3 // buffer:char型指针,指向将要写入的字符串的缓冲区。
- 4 // format:格式化字符串。
- 5 // [argument]...:可选参数,可以是任何类型的数据。
- 6 // 返回值:字符串长度(strlen)
- 7
- 8 int aa = 30;
- 9 char c[8];
- 10 int length = sprintf(c, "%05X", aa);
- 11 cout<<c<<endl; // 0001E

3、使用stringstream

- 1 int aa = 30;
- 2 stringstream ss;
- 3 ss<<aa;
- 4 string s1 = ss.str();
- 5 cout<<s1<<endl; // 30
- 6
- 7 string s2;
- 8 ss>>s2;
- 9 cout<<s2<<endl; //

可以这样理解,stringstream可以吞下不同的类型,根据s2的类型,然后吐出不同的类型。
4、使用boost库中的lexical_cast
- 1 int aa = 30;
- 2 string s = boost::lexical_cast<string>(aa);
- 3 cout<<s<<endl; //
3和4只能转化为10进制的字符串,不能转化为其它进制的字符串。
string转化为int
1、使用strtol(string to long)

- 1 string s = "17";
- 2 char* end;
- 3 int i = static_cast<int>(strtol(s.c_str(),&end,16));
- 4 cout<<i<<endl; // 23
- 5
- 6 i = static_cast<int>(strtol(s.c_str(),&end,10));
- 7 cout<<i<<endl; //

2、使用sscanf

- 1 int i;
- 2 sscanf("17","%D",&i);
- 3 cout<<i<<endl; // 17
- 4
- 5 sscanf("17","%X",&i);
- 6 cout<<i<<endl; // 23
- 7
- 8 sscanf("0X17","%X",&i);
- 9 cout<<i<<endl; //

3、使用stringstream

- 1 string s = "17";
- 2
- 3 stringstream ss;
- 4 ss<<s;
- 5
- 6 int i;
- 7 ss>>i;
- 8 cout<<i<<endl; //

注:stringstream可以吞下任何类型,根据实际需要吐出不同的类型。
4、使用boost库中的lexical_cast
- 1 string s = "17";
- 2 int i = boost::lexical_cast<int>(s);
- 3 cout<<i<<endl; //
int string convert的更多相关文章
- java int and string convert
int -> String int i=12345; String s=""; 第一种方法:s=i+""; 第二种方法:s=String.valueOf( ...
- (int)、Convert.ToInt32()与int.Parse()的区别
1.(int)是类型转换,能够使用(int)进行强类型转换的只能是数值类型,如long.short.double等,这种转换时需要考虑精度问题. 如下的代码就行不通了: string text = & ...
- C#整数的三种强制类型转换int、Convert.ToInt32()、int.Parse()的区别
.int适合简单数据类型之间的转换,C#的默认整型是int32(不支持bool型): .int.Parse(string sParameter)是个构造函数,参数类型只支持string类型: .Con ...
- 字符串转换成整型,到底使用int.Parse,Convert.ToInt32还是int.TryParse?
当我们想把一个字符串转换成整型int的时候,我们可能会想到如下三种方式:int.Parse,Convert.ToInt32和int.TryParse.到底使用哪种方式呢? 先来考虑string的可能性 ...
- C# 使用int.TryParse,Convert.ToInt32,(int)将浮点类型转换整数时的区别
int.TryParse,Convert.ToInt32,(int) 这几种类型在将浮点类型转换整数时是有差别 Convert.ToInt32则会进行四舍五入 int.TryParse只能转换整数,即 ...
- (转)CString,int,string,char*之间的转换
CString,int,string,char*之间的转换http://www.cnblogs.com/greatverve/archive/2010/11/10/cstring-int-string ...
- MFC/C++/C中字符类型CString, int, string, char*之间的转换
1 CString,int,string,char*之间的转换 string 转 CString CString.format("%s", string.c_str()); cha ...
- C# 中 int、Convert.ToInt32()、int.Parse()的区别
int适合简单数据类型之间的转换,C#的默认整型是int32(不支持bool型); int.Parse(string sParameter)是个构造函数,参数类型只支持string类型; Conver ...
- VC CString,int,string,char*之间的转换
CString转string : CString strMfc = "test"; std::string strStr; strStr = strMfc.GetBuffer(); ...
随机推荐
- TabHost结合RadioButton实现主页的导航效果
布局文件的设置,如下 <?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:androi ...
- TXT四则运算计算器
基本思想:使用getline函数从TXT文件中依次读出中缀表达式,将其转为后缀表达式后计算结果,并与用户结果比对. 整数.分数.小数的处理:将小数和整数都视为默认分母为1的分数.建立分数类,在中缀转换 ...
- [Audio processing] wav音频文件合并
合并多个文件,需要包含1.文件读取和写入功能,2.数组合并 package com.audioprocessingbox.myfunc; import java.io.File; import jav ...
- UVa 10256 凸包简单应用
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- DBCP,C3P0,Tomcat_JDBC 性能及稳定性测试
1.测试环境: 硬件环境: 数据库服务器:2U*8核 8G内存 测试服务器: 2U*8核 6G内存 软件环境: jdk: 1.6.29 mysql: 5.0.77 mysql_driver: my ...
- Spring Boot 启动原理分析
https://yq.aliyun.com/articles/6056 转 在spring boot里,很吸引人的一个特性是可以直接把应用打包成为一个jar/war,然后这个jar/war是可以直接启 ...
- Python中http请求方法库汇总
最近在使用python做接口测试,发现python中http请求方法有许多种,今天抽点时间把相关内容整理,分享给大家,具体内容如下所示: 一.python自带库----urllib2 python自带 ...
- EntityFramework 使用Linq处理内连接(inner join)、外链接(left/right outer join)、多表查询
场景:在实际的项目中使用EntityFramework都会遇到使用Ef处理连接查询的问题,这里做一些小例子如何通过Linq语法处理内连接(inner join).外连接(left/right oute ...
- 关于C++函数思考1(缺省的六大函数)
我们知道大神们在设计C++时候就给C++有六个默认的函数,所谓默认就是,无需我们这些程序猿们动手去写,仅仅要你在将类实例化.即创建一个对象,在利用对象进行数据操作时候,就会编译器自己主动调用默认的函数 ...
- [Angular 2] Exposing component properties to the template
Showing you how you can expose properties on your Controller to access them using #refs inside of yo ...