首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

unsetf/setf的有关问题

2012-04-25 
unsetf/setf的问题?C/C++ code#include iostreamusing namespace stdint _tmain(int argc, _TCHAR* arg

unsetf/setf的问题?

C/C++ code
#include <iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[]){    int i = 10;    cout << i << endl; // 输出10    cout.setf( ios_base::hex, ios_base::dec );    cout << i << endl; // 问题一:为什么输出10,而不是a呢?    cout.unsetf( ios_base::dec );    cout.setf( ios_base::hex );    cout << i << endl; // 输出a    cout.setf( ios_base::dec );    cout << i << endl; // 输出10    cout.setf( ios_base::hex, ios_base::dec );    cout << i << endl; // 输出a    return 0;}


[解决办法]
C/C++ code
fmtflags setf(fmtflags fmtfl){    fmtflags old = m_flags;    m_flags |= fmtfl;    return old;}fmtflags setf(fmtflags fmtfl, fmtflags mask){    fmtflags old = m_flags;    m_flags &= ~mask;    m_flags |= (fmtfl & mask);    return old;} 

热点排行