欢迎加入我们的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