Manipolatori del flusso di output con un argomento (int o long)

La libreria di classi iostream fornisce un set di macro per creare i manipolatori con parametri.manipolatori con un singolo int o long l'argomento è un caso speciale.Per creare un manipolatore del flusso di output che accetta un singolo int o long argomento (ad esempio setw), è necessario utilizzare la macro di _Smanip, definita in <iomanip> .In questo esempio viene definito un oggetto fillblank manipolatore che inserisce un numero specificato degli spazi vuoti nel flusso:

Esempio

// output_stream_manip.cpp
// compile with: /GR /EHsc
#include <iostream>
#include <iomanip>
using namespace std;

void fb( ios_base& os, int l )
{
   ostream *pos = dynamic_cast<ostream*>(&os);
   if (pos)
   {
      for( int i=0; i < l; i++ )
      (*pos) << ' ';
   };
}

_Smanip<int>
   __cdecl fillblank(int no)
   {   
   return (_Smanip<int>(&fb, no));
   }

int main( )
{
   cout << "10 blanks follow" << fillblank( 10 ) << ".\n";
}

Vedere anche

Riferimenti

Manipolatori personalizzati con argomenti