用cout输出数据的时候总会觉得没有printf好耍,实际上还是我没有学会cout的用法,我也就知道一个 cout<<xxxx<<endl;
至于怎么控制一下,输出几个小数,左对齐,右对齐,改成16进制输出。。。。不好意思,出门百度;
就不麻烦各位百度了,这里传送门建好了:
http://c.biancheng.net/cpp/biancheng/view/116.html
http://c.biancheng.net/view/275.html
我相信,其实这些你们也懒得看,就是你看了,那你也基本记不住。谁**记得那么多,各种乱七八糟的一大堆,下面我们找一些常用的,好好记一记;
头文件、头文件、头文件 #include <iomanip>
1.字符填充、左对齐右对齐
这个该是要会的吧,毕竟时常需要搞得漂亮一点,像诗一样优雅,咱也不能参差不齐,高高低低。
cout << setw(5) << left << "hh" << "aaaa" << endl; // hh aaaa cout << setw(5) << setiosflags(ios::left) << "hh" << "aaaa" << endl; // hh aaaa cout << setw(5) << right << "hh" << "aaaa" << endl; // hhaaaa cout << setw(5) << setiosflags(ios::right) << "hh" << "aaaa" << endl; // hhaaaa cout << setw(12) << left << setfill('*') << 12.1 << endl; // 12.1******** // setw(x)->指定输出宽度为 x 个字符,或输人字符串时读入 x 个字符 ; // 然后根据right 、left 控制一下左右即可,当然,这两个只对它后面的一个输出有效,第二个就不归它管了(加一个setw); // cout<<left<<"hh"<<right<<"aaaa"<<endl; // setfill(c)->在指定输出宽度的情况下,输出的宽度不足时用字符 c 填充(默认情况是用空格填充)
2.十六进制、十进制、八进制输出等
最开始使用C语言,那不就是%d,%o,%x,C++怎么办,翻翻书,哦,我的垃圾课本竟然没有;
int n = 15;
cout << hex << n << " " << dec << n << " " << oct << n << endl; // f 15 17
// hex是十六进制, dec是十进制, oct是八进制;
// 那关于C语言中 %c 该怎么办,也就是我想输个数字,然后出来字母啥的,或者给个ascll码,出来个字符。。。。emmmmmmm
// cout<<(char)(65)<<" "<<(int)('A')<<endl; 强制转换,我以前怎么就没想到呢。。。
3.浮点数;
double x = 1.21212112, y = 10;
cout << setprecision(5) << x << " " << y << endl; //保留5位有效数字
// 小数点后5位
cout << fixed << setprecision(5) << x << " " << y << endl; //保留小数点后面5位
// 1.2121 10// 1.21212 10.00000
常用的大概就这样吧,组合一下也差不多可以应付了。
2020-07-15