比如说,int a=3,在C语言中我想让它输出时占5个字段宽度并往左边靠,可以用
printf("%-5d",a);
请问在C++中用cout函数怎样实现这一功能呢?
#include <iostream>
#include <iomanip>//不要忘记包含此头文件
using namespace std;
int main()
{
int a;
cout<<"input a:";
cin>>a;
cout<<"dec:"<<dec<<a<<endl; //以十进制形式输出整数
cout<<"hex:"<<hex<<a<<endl; //以十六进制形式输出整数a
cout<<"oct:"<<setbase(8)<<a<<endl; //以八进制形式输出整数a
char *pt="China"; //pt指向字符串"China"
cout<<setw(10)<<pt<<endl; //指定域宽为,输出字符串
cout<<setfill('*')<<setw(10)<<pt<<endl; //指定域宽,输出字符串,空白处以'*'填充
double pi=22.0/7.0; //计算pi值
//按指数形式输出,8位小数
cout<<setiosflags(ios::scientific)<<setprecision(8);
cout<<"pi="<<pi<<endl; //输出pi值
cout<<"pi="<<setprecision(4)<<pi<<endl; //改为位小数
cout<<"pi="<<setiosflags(ios::fixed)<<pi<<endl; //改为小数形式输出
return 0;
}
扩展资料
#include <cstdio> // 在C和一些古老的C++中是stdio.h,新标准为了使标准库
// 的头文件与用户头文件区别开,均推荐使用不用扩展名
// 的版本,对于原有C库,不用扩展名时头文件名前面要加c
class MyOutstream
{
public:
const MyOutstream& operator << (int value)const;//对整型变量的重载
const MyOutstream& operator << (char* str)const;//对字符串型的重载
};
const MyOutstream& MyOutstream::operator <<(int value)const
{
printf("%d",value);
return* this;//注意这个返回……
}
const MyOutstream& MyOutstream::operator <<(char* str)const
{
printf("%s",str);
return* this;//同样,这里也留意一下……
}
MyOutstream myout;//随时随地为我们服务的全局对象myout
int main()
{
int a=2003;
char* myStr="Hello,World!";
myout << myStr << "\n";
return 0;
}
参考资料:百度百科 COUNT函数
c++代码为:
#include <iostream>
#include <iomanip>//不要忘记包含此头文件
int a;
cout<<setiosflags(ios::left)<<setw(5)<<a<<endl;
setw(n)控制输出宽度为n,setiosflags(ios::left)设置输出数据在本域宽范围内向左对齐。
扩展资料:
1.cout的类型是 iostream。
2.ostream使用了单例模式:
保护的构造函数,不能在类外创建另一个对象(用 ostream os 测试);
拷贝构造私有,不能通过已有对象,构造新对象(用 ostream os(cout) 测试);
拷贝赋值私有(用 cout=cout 测试)。
3 cout在命名空间std中,使用前需要using namespace std,或者std::cout。
4 可以使用引用,或指针指向这个对象,意思想说,想用ostream 做一个函数的形式参数,就必须使用引用或指针。因为实参肯定是cout,且只能有这一个对象。
5 cout<<对象; 对象的类型用OO表示,如想用cout打印一个对象,即cout<<对象,可使用如下程序:
friend ostream& operator<< (ostream& os,const OO& c) {
return os << c.成员1 <<" : "<<c.成员2;}
参考资料:cout-百度百科
首先要加上头文件#include <iomanip.h>
#include <iostream>输出结果如下:
input a:34↙(输入a的值)
dec:34 (十进制形式)
hex:22 (十六进制形式)
oct:42 (八进制形式)
China (域宽为)
*****China (域宽为,空白处以'*'填充)
pi=3.14285714e+00 (指数形式输出,8位小数)
pi=3.1429e+00 (指数形式输出,4位小数)
pi=3.143 (小数形式输出,精度仍为)