num_put::put
将数字转换为表示针对特定区域设置格式的数字 CharType中的顺序。
iter_type put(
iter_type _Dest,
ios_base& _Iosbase,
_Elem _Fill,
bool _Val
) const;
iter_type put(
iter_type _Dest,
ios_base& _Iosbase,
_Elem _Fill,
long _Val
) const;
iter_type put(
iter_type _Dest,
ios_base& _Iosbase,
_Elem _Fill,
unsigned long _Val
) const;
iter_type put(
iter_type _Dest,
ios_base& _Iosbase,
_Elem _Fill,
Long long _Val
) const;
iter_type put(
iter_type _Dest,
ios_base& _Iosbase,
_Elem _Fill,
Unsigned long long _Val
) const;
iter_type put(
iter_type _Dest,
ios_base& _Iosbase,
_Elem _Fill,
double _Val
) const;
iter_type put(
iter_type _Dest,
ios_base& _Iosbase,
_Elem _Fill,
long double _Val
) const;
iter_type put(
iter_type _Dest,
ios_base& _Iosbase,
_Elem _Fill,
const void * _Val
) const;
参数
_Dest
解决的迭代器插入的字符串的第一个元素。_Iosbase
指定了包含用于的numpunct方面的区域设置对标点输出和标志格式化输出的流。_Fill
为了节省空间使用的字符。_Val
是输出的数字或布尔值类型。
返回值
输出迭代器在最后一个元素之外的位置都产生的地址。
备注
所有成员函数返回 do_put(_Next、_Iosbase、_Fill,_Val)。
示例
// num_put_put.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
locale loc( "german_germany" );
basic_stringstream<char> psz2;
ios_base::iostate st = 0;
long double fVal;
cout << "The thousands separator is: "
<< use_facet < numpunct <char> >(loc).thousands_sep( )
<< endl;
psz2.imbue( loc );
use_facet < num_put < char > >
( loc ).put(basic_ostream<char>::_Iter(psz2.rdbuf( ) ),
psz2, ' ', fVal=1000.67);
if ( st & ios_base::failbit )
cout << "num_put( ) FAILED" << endl;
else
cout << "num_put( ) = " << psz2.rdbuf( )->str( ) << endl;
}
要求
标头: <locale>
命名空间: std