//c++中int转为string
#include <iostream>
#include <string>
using namespace std;
int main()
{
int i,j,k;
string s("");
char *temp = new char;
sprintf(temp,"%d",1234);
s += string(temp);
cout<<s<<endl;
cout<<s[0]<<" "<<s[1]<<" "<<s[2]<<endl;
while(1);
return 0;
}
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
int i,j,k;
stringstream s;//包含在sstream头文件里
s<<1234;
string ch = s.str();
cout<<ch<<endl;
while(1);
return 0;
}
/*
输入输出那些事: cout.width(12); //设置输出宽度为12 cout<<f[i];
要使 cin.get() 大法还有用,可以配对使用 cin.clear() 与 cin.sync()。
两个函数:cin.clear() 用于清除流的失败状态(如果有);而 cin.sync() 用于清空输入流。
*/
#include <iostream>
using namespace std;
void main()
{ double values[]={1.23,35.36,653.7,4358.24};
for(int i=0; i<4; i++)
{ cout.width(10);
cout.fill('*');
cout<<values[i]<<'\n';
}
}
输出结果:
******1.23
*****35.36
*****653.7
***4358.24
#include <iostream>
#include <iomanip>
using namespace std;
void main()
{ double values[]={1.23,35.36,653.7,4358.24};
char *names[]={"Zoot","Jimmy","Al","Stan"};
for(int i=0;i<4;i++)
cout<<setw(6)<<names[i]
<<setw(10)<<values[i]
<<endl;
}
输出结果:
Zoot 1.23
Jimmy 35.36
Al 653.7
Stan 4358.24
两者作用是一样的,都是设定下一次输出输入宽度,但setw是操作子,而width是成员函数!
如
const char *str1 = "hello";
const char *str2 = "world";
cout.width(10);
cout<<str1;
cout.width(10);
cout<<str2<<endl;
或者使用:
cout<<setw(10)<<str1<<setw(10)<<str2<<endl;
显然使用setw要更方便,不过要包含头文件:
#include <iomanip>
作者:火星十一郎
本文版权归作者火星十一郎所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
9902bb163045 7 月前
c8c661207133 7 月前