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; //

C++ int与string的转化的更多相关文章

  1. C++中int与string的转化

    C++中int与string的转化 int本身也要用一串字符表示,前后没有双引号,告诉编译器把它当作一个数解释.缺省情况下,是当成10进制(dec)来解释,如果想用8进制,16进制,怎么办?加上前缀, ...

  2. Java int与String互相转化大全

    int -> String //int 转化才 string int num = 123456; //方法一 会产生两个String对象 String s1 = num+"" ...

  3. C++ int 和string互相转化

    1.int转换成string );//"-12" );//"12" +);//"1" 2.string转换成int );//"-1 ...

  4. C# int与string转化

    1.int-->string ; string s1 = a.ToString(); string s2 = Convert.ToString(a); 2.string -->int &q ...

  5. C++11中int,float,double与string的转化

    在C++11中可以使用std::to_string()函数将数值转换为string格式,十分方便. 以下部分来选自cplusplus.com. std::to_string string to_str ...

  6. C++ int转string

    一.使用atoi 说明: itoa(   int   value,   char   *string,   int   radix   );       第一个参数:你要转化的int;       第 ...

  7. linux int to string 方法

    最近从windows 移植程序的时候发现to_string()函数在linux 中不能用,网上找了几种方法,觉得使用stringstream对象来实现类型转化比较好一点. 你只需在你工程中加入下面的t ...

  8. java中的BigDecimal和String的相互转换,int和String的类型转换,Integer类和String相互转换

    一: /*由数字字符串构造BigDecimal的方法 *设置BigDecimal的小数位数的方法 */ 注:BigDecimal在数据库中存的是number类型. import java.math.B ...

  9. c++中几种常见的类型转换。int与string的转换,float与string的转换以及string和long类型之间的相互转换。to_string函数的实现和应用。

    1.string转换为int a.采用标准库中atoi函数,对于float和龙类型也都有相应的标准库函数,比如浮点型atof(),long型atol(). 他的主要功能是将一个字符串转化为一个数字,在 ...

随机推荐

  1. Leetcode: Rearrange String k Distance Apart

    Given a non-empty string str and an integer k, rearrange the string such that the same characters ar ...

  2. echarts 图表应用

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. appframework3.0(JQmobi)入门教程

    2015-03-31 22:02 2011人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. appframework3.0好像是3月24日发布的,今天31号,发现和 ...

  4. c#字符显示转换{0:d}

    C#:String.Format数字格式化输出 : int a = 12345678; //格式为sring输出// Label1.Text = string.Format("asdfads ...

  5. Java多线程开发系列之四:玩转多线程(线程的控制2)

    在上节的线程控制(详情点击这里)中,我们讲解了线程的等待join().守护线程.本节我们将会把剩下的线程控制内容一并讲完,主要内容有线程的睡眠.让步.优先级.挂起和恢复.停止等. 废话不多说,我们直接 ...

  6. 论文阅读(Xiang Bai——【CVPR2016】Multi-Oriented Text Detection with Fully Convolutional Networks)

    Xiang Bai--[CVPR2016]Multi-Oriented Text Detection with Fully Convolutional Networks 目录 作者和相关链接 方法概括 ...

  7. java的异常

    下面是我对Java异常知识的几个小总结,也算是资源回收一下 一.Java异常的知识 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的.比如说,你的代码少了一个分号,那么运 ...

  8. Asp.net在IE10、IE11下事件丢失经验总结

    asp.net4.0出生得比IE10早,所以asp.net4.0以前版本不认识IE10 的 User-Agent 标头,导致的后果就是ASP.NET 特定功能失效,例如:页面报错__doPostBac ...

  9. 横向不间断滚动DIV

    横向不间断滚动DIV,5个一组,js控制,自动生成任意组显示 <!DOCTYPE html> <html> <head> <meta http-equiv=& ...

  10. uboot命令

    uboot是怎么启动kernel的呢? 先熟悉一下uboot的命令吧. 首先是md, 查看内存. OpenJTAG> md 000000000: ea000014 e59ff014 e59ff0 ...