C++中使用cout以hex格式输出方式
作者:qq_36208201
这篇文章主要介绍了C++中使用cout以hex格式输出方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
使用cout以hex格式输出
cout << "0x"<< hex << setiosflags(ios::uppercase) << setfill('0') << setw(2) << (int)10 << endl;
其中hex设置以16进制输出
setiosflags(ios::uppercase)
设置16进制数大写输出
setiosflags各参数定义
setiosflags(ios::fixed)
固定的浮点显示setiosflags(ios::scientific)
指数表示setiosflags(ios::left)
左对齐setiosflags(ios::right)
右对齐setiosflags(ios::skipws
忽略前导空白setiosflags(ios::uppercase)
16进制数大写输出setiosflags(ios::lowercase)
16进制小写输出setiosflags(ios::showpoint)
强制显示小数点setiosflags(ios::showpos)
强制显示符号setfill('0')
设置其他字符填充 如果输出字符的宽度不够 则以设置的字符输出
setw(2)设置输出宽度,如果宽度设置为3 则输出0x00A
PS:
最后的强转int:有资料说明cout << hex 只对整数有效 但是我在VS上不对数值进行强转也能以16进制输出
C++ cout的一些格式化输出
#include <iostream> #include <iomanip> using std::cout; using std::endl; int main(int argc,char *argv[],char *envp[]) { cout<<1234567890<<endl; cout<<std::setiosflags(std::ios_base::right)<<std::setw(20)<<std::setfill(' ')<<1234567890<<endl; cout.imbue(std::locale("english")); cout<<1234567890<<endl; cout.unsetf(cout.flags()); cout<<std::showbase<<std::hex<<1234567890<<endl; cout.unsetf(cout.flags()); return 0; }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。