setiosflags的问题
cout < < setw( 7 ) < < setiosflags( ios::right ) < < "somewords " < < " of "
< < setw( 13 ) < < setiosflags( ios::left ) < < "somewords ";
结果没有按我预定的想法输出。
我想输出的样式是:
Ace of Clubs
结果出来的是:
Ace of Clubs
也就是说,即使我后面改成了左对齐,还是以右对齐方式出来的。
我试过把right去掉,结果是可以变成左对齐的,全部变成左对齐了,只要有right, left就不好使了,而且不能设置部分左对齐,部分右对齐。
这是为什么?如何实现我想要的输入?
附:上面的写法书上例题也是这样写的,书上说得到了我想要的结果,我是用VS.NET 2003实现的,却得不到。
[解决办法]
cout < < setw( 7 ) < < setiosflags( ios::right ) < < "somewords " < < " of "
< < setw( 13 ) < < setiosflags( ios::left ) < < "somewords ";
==》
cout < < setw( 7 ) < < setiosflags( ios::right ) < < "somewords " < < " of "
< < resetiosflags( ios::right ) < < setiosflags( ios::left )
< < setw( 13 ) < < "somewords ";
先调用 resetiosflags ....