cout标志只对第一个输出有效
C++ - cout flags work only for first output
当我传递一些数据时,输出类似于xxxxxxxx0x97 0x104 0x111 0x106 0x0
为什么cout格式只影响第一个输出?
void Dumper::hex(const unsigned char * data, size_t len) {
cout << endl;
ios::fmtflags f(cout.flags());
/*
cout.fill('0');
cout.width(2);
*/
cout.fill('x');
cout.width(10);
for (int i = 0; i < len; i++) {
cout << "0x" << ((long)(data[i]) & 255) << " ";
}
cout.flags(f);
cout << endl;
}
width()
被任何使用它的操作重置为0。其基本思想是,它不太可能适用于多个领域。特别是,它不太可能应用于值和分隔符。因此,宽度应该在每个值之前设置。
对于您的具体使用,我将使用std::internal
和std::showbase
。另外,请确保使用unsigned
值为您的两位十六进制值:否则您将得到扩展的符号。
相关文章:
- 递归函数计算序列中的平方和(并输出过程)
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 请解释"函数1(p1,p2,p3);"的输出
- 欧拉项目#8答案是大以获得有效答案
- C++:将控制台输出存储在宏中更好吗
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- VS2017 的输出错误,但 mingw 有效
- C++,我正在尝试创建一个有效的.bmp输出文件
- 哪些数据文件从python(或其他)中读取的C 输出格式更有效
- 使用递归的括号有效排列的输出差异
- 输出换行符的最有效方法
- 为什么第一个程序不起作用,而第二个程序有效?其次,为什么输出是它给出的
- 1.0是std::generate_canonical的有效输出吗
- 此输出是否有效或编译器错误
- 输出不显示日期是否有效
- 将numpy数组传递给c++函数并返回numpy数组作为输出的最有效方法是什么?
- SDL 控制台输出在调试时有效,但在与 exe 一起运行时无效
- 验证函数中的文件并在主文件中调用它,输出"file is valid"它是否有效
- cout标志只对第一个输出有效