关于转换的问题,平时用到一些 内置类型之间的 转换方法如atoi atof itoa sprintf 等 istrstream ostrstream strstream【2013.10.21】

来源:互联网 发布:网络银行交易额 编辑:程序博客网 时间:2024/06/10 18:20

欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 

1. 关于转换的问题,平时用到一些 内置类型之间的 转换方法如atoi atof itoa sprintf 等可以转换成字符串的方法 这都是c下面的方法,c++下面有

 istrstream ostrstream strstream //这几个是处理C风格的字符串 即字符串

 istringstream ostringstream stringstream       //这几个是处理C++  即string 类


主要处理代码可以如下:

我们要格式化一个 ”今天是 10 号“ 

char str[100] = {0};

int day = 10;

sprintf(str,"今天是 %d 号",day); //sprintf 方法


char *pstr = new char[100];

ostrstream ostr(pstr,100);

ostrstream << "今天是 " << 10 << " 号" << ends; //结尾要ends \0效果 不然会有溢出的危险

cout << pstr <<endl; // "今天是 10 号"


ostringstream ostring;

ostring << “今天是 ” << 10 << " 号" <<endl;

string str = ostring,str();//获取字符串

或者:

ostring >> str; //同样效果

这些是转成字符串。。下面是字符串转 int float 等...

atoi atof 就不写代码了。

istrstream istr("10");

int iout ;

istr >> iout; //iout = 10 了

cout << iout <<endl;//输出 10

简单吧。。。

istringstream istring("10");

int iout;

istring >> iout;   //同样iout=10了

cout <<iout <<endl; //输出10


setprecision (显示几位小数) 

precision  ( 显示几位数字 )



很简单吧。。。呵呵。。。。还有更多用法哦...方便!

而且一个stream对象都可以进行多次转换,只要在转换前调用clear() 方法清理一下就ok啦!


欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 


原创粉丝点击