ios_base (Clase)ios_base Class

La clase describe las funciones de almacenamiento y miembro comunes al flujo de entrada y al de salida que no dependen de los parámetros de plantilla.The class describes the storage and member functions common to both input and output streams that do not depend on the template parameters. (La plantilla de clase basic_ios describe lo que es común y depende de los parámetros de plantilla).(The class template basic_ios describes what is common and is dependent on template parameters.)

Un objeto de clase ios_base almacena la información de formato, que consta de:An object of class ios_base stores formatting information, which consists of:

  • Marcas de formato en un objeto de tipo fmtflags .Format flags in an object of type fmtflags.

  • Una máscara de excepción en un objeto de tipo iostate .An exception mask in an object of type iostate.

  • Un ancho de campo en un objeto de tipo int.A field width in an object of type int.

  • Una precisión de visualización en un objeto de tipo int.A display precision in an object of type int.

  • Objeto de configuración regional en un objeto de tipo locale .A locale object in an object of type locale.

  • Dos matrices extensibles, con elementos de tipo long y void puntero.Two extensible arrays, with elements of type long and void pointer.

Un objeto de clase ios_base también almacena información de estado de la secuencia, en un objeto de tipo iostate y una pila de devolución de llamada.An object of class ios_base also stores stream state information, in an object of type iostate, and a callback stack.

MiembrosMembers

ConstructoresConstructors

NombreName DescripciónDescription
ios_base Construye objetos ios_base.Constructs ios_base objects.

TypedefsTypedefs

NombreName DescripciónDescription
event_callback Describe una función que se pasa a register_call .Describes a function passed to register_call.
fmtflags Constantes para especificar la apariencia de la salida.Constants to specify the appearance of output.
iostate Define constantes que describen el estado de una secuencia.Defines constants describing the state of a stream.
openmode Describe cómo interactuar con una secuencia.Describes how to interact with a stream.
seekdir Especifica el punto de partida para las operaciones de desplazamiento.Specifies starting point for offset operations.

EnumeracionesEnums

NombreName DescripciónDescription
event Especifica tipos de eventos.Specifies event types.

ConstantesConstants

NombreName DescripciónDescription
adjustfield Máscara de máscara definida como internal | left | right .A bitmask defined as internal | left | right.
app Especifica la búsqueda al final de una secuencia antes de cada inserción.Specifies seeking to the end of a stream before each insertion.
ate Especifica la búsqueda al final de una secuencia cuando se crea por primera vez su objeto de control.Specifies seeking to the end of a stream when its controlling object is first created.
badbit Registra una pérdida de integridad del búfer de secuencia.Records a loss of integrity of the stream buffer.
basefield Máscara de máscara definida como dec | hex | oct .A bitmask defined as dec | hex | oct.
beg Especifica la búsqueda en relación con el principio de una secuencia.Specifies seeking relative to the beginning of a sequence.
binary Especifica que se debe leer un archivo como una secuencia binaria, en lugar de como una secuencia de texto.Specifies that a file should be read as a binary stream, rather than as a text stream.
boolalpha Especifica la inserción o extracción de objetos de tipo bool como nombres (como true y false), en lugar de como valores numéricos.Specifies insertion or extraction of objects of type bool as names (such as true and false) rather than as numeric values.
cur Especifica la búsqueda en relación con la posición actual dentro de una secuencia.Specifies seeking relative to the current position within a sequence.
dec Especifica la inserción o extracción de valores enteros en formato decimal.Specifies insertion or extraction of integer values in decimal format.
end Especifica la búsqueda en relación con el final de una secuencia.Specifies seeking relative to the end of a sequence.
eofbit Registra el final de archivo al extraer de una secuencia.Records end-of-file while extracting from a stream.
failbit Registra un error al extraer un campo válido de una secuencia.Records a failure to extract a valid field from a stream.
fixed Especifica la inserción de valores de punto flotante en formato de punto fijo (sin campo de exponente).Specifies insertion of floating-point values in fixed-point format (with no exponent field).
floatfield Máscara de bits que se define como fixed | scientificA bitmask defined as fixed | scientific
goodbit Se borran todos los bits de estado.All state bits clear.
hex Especifica la inserción o extracción de valores enteros en formato hexadecimal.Specifies insertion or extraction of integer values in hexadecimal format.
in Especifica la extracción de una secuencia.Specifies extraction from a stream.
internal Rellena un ancho de campo insertando caracteres de relleno en un punto interno a un campo numérico generado.Pads to a field width by inserting fill characters at a point internal to a generated numeric field.
left Especifica la justificación a la izquierda.Specifies left justification.
oct Especifica la inserción o extracción de valores enteros en formato octal.Specifies insertion or extraction of integer values in octal format.
out Especifica la inserción en una secuencia.Specifies insertion to a stream.
right Especifica la justificación a la derecha.Specifies right justification.
scientific Especifica la inserción de valores de punto flotante en formato científico (con un campo de exponente).Specifies insertion of floating-point values in scientific format (with an exponent field).
showbase Especifica la inserción de un prefijo que revela la base de un campo entero generado.Specifies insertion of a prefix that reveals the base of a generated integer field.
showpoint Especifica la inserción incondicional de un separador decimal en un campo de punto flotante generado.Specifies unconditional insertion of a decimal point in a generated floating-point field.
showpos Especifica la inserción de un signo más en un campo numérico generado no negativo.Specifies insertion of a plus sign in a nonnegative generated numeric field.
skipws Especifica la omisión del espacio en blanco inicial antes de ciertas extracciones.Specifies skipping leading white space before certain extractions.
trunc Especifica la eliminación de contenido de un archivo existente cuando se crea su objeto de control.Specifies deleting contents of an existing file when its controlling object is created.
unitbuf Hace que la salida se vacíe después de cada inserción.Causes output to be flushed after each insertion.
uppercase Especifica la inserción de los equivalentes en mayúsculas de letras en minúsculas en ciertas inserciones.Specifies insertion of uppercase equivalents of lowercase letters in certain insertions.

FunctionsFunctions

NombreName DescripciónDescription
failure La clase de miembro actúa como la clase base para todas las excepciones producidas por la función miembro Clear en la plantilla de clase basic_ios.The member class serves as the base class for all exceptions thrown by the member function clear in class template basic_ios.
flags Establece o devuelve la configuración actual de la marca.Sets or returns the current flag settings.
getloc Devuelve el objeto de configuración regional almacenado.Returns the stored locale object.
imbue Cambia la configuración regional.Changes the locale.
Init Crea los iostream objetos estándar cuando se construyen.Creates the standard iostream objects when constructed.
iword Asigna un valor que se va a almacenar como iword.Assigns a value to be stored as an iword.
precision Especifica el número de dígitos que se debe mostrar en un número de punto flotante.Specifies the number of digits to display in a floating-point number.
pword Asigna un valor que se va a almacenar como pword.Assigns a value to be stored as a pword.
register_callback Especifica una función de devolución de llamada.Specifies a callback function.
setf Establece las marcas especificadas.Sets the specified flags.
sync_with_stdio Garantiza que iostream las operaciones de la biblioteca en tiempo de ejecución de C se producen en el orden en el que aparecen en el código fuente.Ensures that iostream and C run-time library operations occur in the order that they appear in source code.
unsetf Hace que las marcas especificadas se desactiven.Causes the specified flags to be off.
width Establece la longitud del flujo de salida.Sets the length of the output stream.
xalloc Especifica que una variable formará parte de la secuencia.Specifies that a variable shall be part of the stream.

OperadoresOperators

NombreName DescripciónDescription
operator= Operador de asignación de objetos ios_base.The assignment operator for ios_base objects.

RequisitosRequirements

Encabezado:<ios>Header: <ios>

Espacio de nombres: stdNamespace: std

eventevent

Especifica tipos de eventos.Specifies event types.

enum event {
    erase_event,
    imbue_event,
    copyfmt_event};

ObservacionesRemarks

El tipo es un tipo enumerado que describe un objeto que puede almacenar el evento de devolución de llamada utilizado como argumento para una función registrada con register_callback .The type is an enumerated type that describes an object that can store the callback event used as an argument to a function registered with register_callback. Los diferentes valores de evento son:The distinct event values are:

  • copyfmt_event, para identificar una devolución de llamada que se produce cerca del final de una llamada a copyfmt , justo antes de que se copie la máscara de la excepción .copyfmt_event, to identify a callback that occurs near the end of a call to copyfmt, just before the exception mask is copied.

  • erase_event, para identificar una devolución de llamada que se produce al principio de una llamada a copyfmt , o al principio de una llamada al destructor para *this .erase_event, to identify a callback that occurs at the beginning of a call to copyfmt, or at the beginning of a call to the destructor for *this.

  • imbue_event, para identificar una devolución de llamada que se produce al final de una llamada a imbue , justo antes de que la función devuelva.imbue_event, to identify a callback that occurs at the end of a call to imbue, just before the function returns.

EjemploExample

Vea register_callback para obtener un ejemplo.See register_callback for an example.

event_callbackevent_callback

Describe una función que se pasa a register_call .Describes a function passed to register_call.

typedef void (__cdecl *event_callback)(
    event _E,
    ios_base& _Base,
    int _I);

ParámetrosParameters

_E
El event .The event.

_Base
Flujo en el que se ha llamado al evento.The stream in which the event was called.

_I
Número definido por el usuario.A user-defined number.

ObservacionesRemarks

El tipo describe un puntero a una función que se puede registrar con register_callback .The type describes a pointer to a function that can be registered with register_callback. Este tipo de función no debe producir una excepción.This type of function must not throw an exception.

EjemploExample

Vea register_call para obtener un ejemplo que usa event_callback .See register_call for an example that uses event_callback.

failurefailure

La clase failure define la clase base para los tipos de todos los objetos que las funciones de la biblioteca iostreams producen como excepciones para notificar los errores detectados durante las operaciones del búfer de flujo.The class failure defines the base class for the types of all objects thrown as exceptions, by functions in the iostreams library, to report errors detected during stream buffer operations.

namespace std {
    class failure : public system_error {
    public:
        explicit failure(
            const string& _Message,
            const error_code& _Code = io_errc::stream);

        explicit failure(
            const char* str,
            const error_code& _Code = io_errc::stream);
    };
}

ObservacionesRemarks

El valor devuelto por what() es una copia de _Message, posiblemente aumentada con una prueba basada en _Code.The value returned by what() is a copy of _Message, possibly augmented with a test based on _Code. Si no se especifica _Code, el valor predeterminado es make_error_code(io_errc::stream).If _Code is not specified, the default value is make_error_code(io_errc::stream).

EjemploExample

// ios_base_failure.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>

int main ( )
{
    using namespace std;
    fstream file;
    file.exceptions(ios::failbit);
    try
    {
        file.open( "rm.txt", ios_base::in );
        // Opens nonexistent file for reading
    }
    catch( ios_base::failure f )
    {
        cout << "Caught an exception: " << f.what() << endl;
    }
}
Caught an exception: ios_base::failbit set

flagsflags

Establece o devuelve la configuración actual de la marca.Sets or returns the current flag settings.

fmtflags flags() const;
fmtflags flags(fmtflags fmtfl);

ParámetrosParameters

fmtfl
Nueva configuración de fmtflags.The new fmtflags setting.

Valor devueltoReturn Value

Configuración anterior o actual de fmtflags.The previous or current fmtflags setting.

ObservacionesRemarks

Vea ios_base::fmtflags para obtener una lista de las marcas.See ios_base::fmtflags for a list of the flags.

La primera función miembro devuelve las marcas de formato almacenadas.The first member function returns the stored format flags. La segunda función miembro almacena fmtfl en las marcas de formato y devuelve su valor almacenado anterior.The second member function stores fmtfl in the format flags and returns its previous stored value.

EjemploExample

// ios_base_flags.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>

int main ( )
{
    using namespace std;
    cout << cout.flags( ) << endl;
    cout.flags( ios::dec | ios::boolalpha );
    cout << cout.flags( );
}
513
16896

fmtflagsfmtflags

Constantes para especificar la apariencia de la salida.Constants to specify the appearance of output.

class ios_base {
public:
   typedef implementation-defined-bitmask-type fmtflags;
   static const fmtflags boolalpha;
   static const fmtflags dec;
   static const fmtflags fixed;
   static const fmtflags hex;
   static const fmtflags internal;
   static const fmtflags left;
   static const fmtflags oct;
   static const fmtflags right;
   static const fmtflags scientific;
   static const fmtflags showbase;
   static const fmtflags showpoint;
   static const fmtflags showpos;
   static const fmtflags skipws;
   static const fmtflags unitbuf;
   static const fmtflags uppercase;
   static const fmtflags adjustfield;
   static const fmtflags basefield;
   static const fmtflags floatfield;
   // ...
};

ObservacionesRemarks

Admite los manipuladores en ios .Supports the manipulators in ios.

El tipo es un tipo de máscara de bits que describe un objeto que puede almacenar marcas de formato.The type is a bitmask type that describes an object that can store format flags. Los distintos valores de marca (elementos) son:The distinct flag values (elements) are:

  • dec, para insertar o extraer valores enteros en formato decimal.dec, to insert or extract integer values in decimal format.

  • hex, para insertar o extraer valores enteros en formato hexadecimal.hex, to insert or extract integer values in hexadecimal format.

  • oct, para insertar o extraer valores enteros en formato octal.oct, to insert or extract integer values in octal format.

  • showbase, para insertar un prefijo que revela la base de un campo numérico entero generado.showbase, to insert a prefix that reveals the base of a generated integer field.

  • internal, para rellenar un ancho de campo tanto como sea necesario mediante la inserción de caracteres de relleno en un punto interno a un campo numérico generado.internal, to pad to a field width as needed by inserting fill characters at a point internal to a generated numeric field. (Para obtener información sobre cómo establecer el ancho de campo, vea setw ).(For information on setting the field width, see setw).

  • left, para rellenar un ancho de campo tanto como sea necesario mediante la inserción de caracteres de relleno al final de un campo generado (justificación a la izquierda).left, to pad to a field width as needed by inserting fill characters at the end of a generated field (left justification).

  • right, para rellenar un ancho de campo tanto como sea necesario mediante la inserción de caracteres de relleno al principio de un campo generado (justificación a la derecha).right, to pad to a field width as needed by inserting fill characters at the beginning of a generated field (right justification).

  • boolalpha, para insertar o extraer objetos de tipo bool, como nombres (como true y false), en lugar de como valores numéricos.boolalpha, to insert or extract objects of type bool as names (such as true and false) rather than as numeric values.

  • fixed, para insertar valores de punto flotante en formato de punto fijo (sin campo de exponente).fixed, to insert floating-point values in fixed-point format (with no exponent field).

  • scientific, para insertar valores de punto flotante en formato científico (con un campo de exponente).scientific, to insert floating-point values in scientific format (with an exponent field).

  • showpoint, para insertar un separador decimal de manera incondicional en un campo de punto flotante generado.showpoint, to insert a decimal point unconditionally in a generated floating-point field.

  • showpos, para insertar un signo más en un campo numérico generado no negativo.showpos, to insert a plus sign in a nonnegative generated numeric field.

  • skipws, para omitir el espacio en blanco inicial antes de ciertas extracciones.skipws, to skip leading white space before certain extractions.

  • unitbuf, para vaciar los resultados después de cada inserción.unitbuf, to flush output after each insertion.

  • uppercase, para insertar los equivalentes en mayúsculas de letras en minúsculas en ciertas inserciones.uppercase, to insert uppercase equivalents of lowercase letters in certain insertions.

Además, varios valores útiles son:In addition, several useful values are:

  • adjustfield, una máscara de bits que se define como internal | left | rightadjustfield, a bitmask defined as internal | left | right

  • basefield, que se define como dec | hex | octbasefield, defined as dec | hex | oct

  • floatfield, que se define como fixed | scientificfloatfield, defined as fixed | scientific

Para obtener ejemplos de funciones que modifican estas marcas de formato, vea <iomanip> .For examples of functions that modify these format flags, see <iomanip>.

getlocgetloc

Devuelve el objeto de configuración regional almacenado.Returns the stored locale object.

locale getloc() const;

Valor devueltoReturn Value

Objeto de configuración regional almacenado.The stored locale object.

EjemploExample

// ios_base_getlock.cpp
// compile with: /EHsc
#include <iostream>

int main( )
{
    using namespace std;
    cout << cout.getloc( ).name( ).c_str( ) << endl;
}
C

imbueimbue

Cambia la configuración regional.Changes the locale.

locale imbue(const locale& _Loc);

ParámetrosParameters

_Loc
Nueva configuración regional.The new locale setting.

Valor devueltoReturn Value

Configuración regional anterior.The previous locale.

ObservacionesRemarks

La función miembro almacena _Loc en el objeto de configuración regional y, a continuación, notifica el evento de devolución de llamada y imbue_event .The member function stores _Loc in the locale object and then reports the callback event and imbue_event. Devuelve el valor almacenado anterior.It returns the previous stored value.

EjemploExample

Vea basic_ios::imbue para obtener un ejemplo.See basic_ios::imbue for a sample.

InitInit

Crea los iostream objetos estándar cuando se construyen.Creates the standard iostream objects when constructed.

class Init { };

ObservacionesRemarks

La clase anidada describe un objeto cuya construcción garantiza que los iostream objetos estándar se construyen correctamente, incluso antes de la ejecución de un constructor para un objeto estático arbitrario.The nested class describes an object whose construction ensures that the standard iostream objects are properly constructed, even before the execution of a constructor for an arbitrary static object.

ios_baseios_base

Crea objetos ios_base.Constructs ios_base objects.

ios_base();

ObservacionesRemarks

El constructor (protegido) no hace nada.The (protected) constructor does nothing. Una llamada posterior a basic_ios:: init debe inicializar el objeto antes de que se pueda destruir con seguridad.A later call to basic_ios::init must initialize the object before it can be safely destroyed. Por lo tanto, el único uso seguro de la clase ios_base es como una clase base para la plantilla de clase basic_ios.Thus, the only safe use for class ios_base is as a base class for class template basic_ios.

iostateiostate

Tipo de constantes que describen el estado de un flujo.The type of constants that describe the state of a stream.

class ios_base {
public:
   typedef implementation-defined-bitmask-type iostate;
   static const iostate badbit;
   static const iostate eofbit;
   static const iostate failbit;
   static const iostate goodbit;
   // ...
};

ObservacionesRemarks

El tipo es un tipo de máscara de bits que describe un objeto que puede almacenar información sobre el estado del flujo.The type is a bitmask type that describes an object that can store stream state information. Los distintos valores de marca (elementos) son:The distinct flag values (elements) are:

  • badbit, para registrar una pérdida de integridad del búfer de flujo.badbit, to record a loss of integrity of the stream buffer.
  • eofbit, para registrar el final de archivo al extraer de un flujo.eofbit, to record end-of-file while extracting from a stream.
  • failbit, para registrar un error al extraer un campo válido de un flujo.failbit, to record a failure to extract a valid field from a stream.

Además, un valor útil es goodbit , donde no se establece ninguno de los bits mencionados previamente ( goodbit se garantiza que sea cero).In addition, a useful value is goodbit, where none of the previously mentioned bits are set (goodbit is guaranteed to be zero).

iwordiword

Asigna un valor que se va a almacenar como iword.Assigns a value to be stored as an iword.

long& iword(int idx);

ParámetrosParameters

idx
Índice del valor que se va a almacenar como iword.The index of the value to store as an iword.

ObservacionesRemarks

La función miembro devuelve una referencia al elemento IDX de la matriz extensible con elementos de tipo long .The member function returns a reference to element idx of the extensible array with elements of type long. Todos los elementos están presentes de forma eficaz y almacenan inicialmente el valor cero.All elements are effectively present and initially store the value zero. La referencia devuelta no es válida después de la siguiente llamada a iword para el objeto, después de que el objeto se haya modificado mediante una llamada a basic_ios:: copyfmt o después de que se destruya el objeto.The returned reference is invalid after the next call to iword for the object, after the object is altered by a call to basic_ios::copyfmt, or after the object is destroyed.

Si idx es negativo o si el almacenamiento único no está disponible para el elemento, la función llama a setstate (badbit) y devuelve una referencia que podría no ser única.If idx is negative or if unique storage is unavailable for the element, the function calls setstate(badbit) and returns a reference that might not be unique.

Para obtener un índice único, para su uso en todos los objetos de tipo ios_base , llame a xalloc .To obtain a unique index, for use across all objects of type ios_base, call xalloc.

EjemploExample

Vea xalloc para obtener un ejemplo de cómo usar iword .See xalloc for a sample of how to use iword.

openmodeopenmode

Describe cómo interactuar con una secuencia.Describes how to interact with a stream.

class ios_base {
public:
   typedef implementation-defined-bitmask-type openmode;
   static const openmode  in;
   static const openmode  out;
   static const openmode  ate;
   static const openmode  app;
   static const openmode  trunc;
   static const openmode  binary;
   // ...
};

ObservacionesRemarks

El modo de apertura para varios iostream objetos.The opening mode for several iostream objects. Los valores de marca son:The flag values are:

ConstanteConstant EfectoEffect
app Buscar hasta el final de la secuencia antes de cada escrituraSeek to the end of the stream before each write
ate Buscar hasta el final de la secuencia inmediatamente después de abrirSeek to the end of the stream immediately after open
binary Abrir en modo binario.Open in binary mode. (Vea fopen para obtener una descripción del modo binario).(See fopen for a description of binary mode.)
in Abrir para lecturaOpen for reading
out Abierto para escrituraOpen for writing
trunc eliminar el contenido del archivo después de abrirlodelete the contents of the file after open

EjemploExample

// ios_base_openmode.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>

int main ( )
{
    using namespace std;
    fstream file;
    file.open( "rm.txt", ios_base::out | ios_base::trunc );

    file << "testing";
}

operator=operator=

Operador de asignación de objetos ios_base.The assignment operator for ios_base objects.

ios_base& operator=(const ios_base& right);

ParámetrosParameters

right
Objeto de tipo ios_base.An object of type ios_base.

Valor devueltoReturn Value

Objeto al que se va a asignar.The object being assigned to.

ObservacionesRemarks

El operador copia la información de formato almacenada y crea una nueva copia de las matrices extensibles.The operator copies the stored formatting information, making a new copy of any extensible arrays. Después, devuelve *this.It then returns *this. Tenga en cuenta que la pila de devolución de llamada no se copia.Note that the callback stack is not copied.

Este operador solo lo usan las clases derivadas de ios_base.This operator is only used by classes derived from ios_base.

precisionprecision

Especifica el número de dígitos que se debe mostrar en un número de punto flotante.Specifies the number of digits to display in a floating-point number.

streamsize precision() const;
streamsize precision(streamsize _Prec);

ParámetrosParameters

_Prec
Número de dígitos significativos que se van a mostrar, o número de dígitos después del separador decimal en notación fija.The number of significant digits to display, or the number of digits after the decimal point in fixed notation.

Valor devueltoReturn Value

La primera función miembro devuelve la precisión de visualización almacenada.The first member function returns the stored display precision. La segunda función miembro almacena _Prec en la precisión de la pantalla y devuelve su valor almacenado anterior.The second member function stores _Prec in the display precision and returns its previous stored value.

ObservacionesRemarks

Los números de punto flotante se muestran en notación fija con fixed.Floating-point numbers are displayed in fixed notation with fixed.

EjemploExample

// ios_base_precision.cpp
// compile with: /EHsc
#include <iostream>

int main( )
{
    using namespace std;
    float i = 31.31234F;

    cout.precision( 3 );
    cout << i << endl;          // display three significant digits
    cout << fixed << i << endl; // display three digits after decimal
                                // point
}
31.3
31.312

pwordpword

Asigna un valor que se va a almacenar como pword.Assigns a value to be stored as a pword.

void *& pword(int index);

ParámetrosParameters

index
Índice del valor que se va a almacenar como pword.The index of the value to store as a pword.

ObservacionesRemarks

La función miembro devuelve una referencia al Índice de elemento de la matriz extensible con elementos de tipo void Pointer.The member function returns a reference to element index of the extensible array with elements of type void pointer. Todos los elementos están presentes de forma eficaz y almacenan inicialmente el puntero null.All elements are effectively present and initially store the null pointer. La referencia devuelta no es válida después de la siguiente llamada a pword para el objeto, después de que el objeto se haya modificado mediante una llamada a basic_ios:: copyfmt o después de que se destruya el objeto.The returned reference is invalid after the next call to pword for the object, after the object is altered by a call to basic_ios::copyfmt, or after the object is destroyed.

Si el Índice es negativo, o si el almacenamiento único no está disponible para el elemento, la función llama a setstate (badbit) y devuelve una referencia que podría no ser única.If index is negative, or if unique storage is unavailable for the element, the function calls setstate(badbit) and returns a reference that might not be unique.

Para obtener un índice único, para su uso en todos los objetos de tipo ios_base , llame a xalloc .To obtain a unique index, for use across all objects of type ios_base, call xalloc.

EjemploExample

Vea xalloc para obtener un ejemplo en el que se usa pword.See xalloc for an example of using pword.

register_callbackregister_callback

Especifica una función de devolución de llamada.Specifies a callback function.

void register_callback(
    event_callback pfn, int idx);

ParámetrosParameters

pfn
Puntero a la función de devolución de llamada.Pointer to the callback function.

idx
Número definido por el usuario.A user-defined number.

ObservacionesRemarks

La función miembro inserciones el par {pfn, idx} en la pila de devolución de llamadade la pila de devolución de llamada almacenada.The member function pushes the pair {pfn, idx} onto the stored callback stack callback stack. Cuando se detecta un evento de devolución de llamada EV , se llama a las funciones, en orden inverso al registro, por la expresión (*pfn)(ev, *this, idx) .When a callback event ev is reported, the functions are called, in reverse order of registry, by the expression (*pfn)(ev, *this, idx).

EjemploExample

// ios_base_register_callback.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>

using namespace std;

void callback1( ios_base::event e, ios_base& stream, int arg )
{
    cout << "in callback1" << endl;
    switch ( e )
    {
    case ios_base::erase_event:
        cout << "an erase event" << endl;
        break;
    case ios_base::imbue_event:
        cout << "an imbue event" << endl;
        break;
    case ios_base::copyfmt_event:
        cout << "an copyfmt event" << endl;
        break;
    };
}

void callback2( ios_base::event e, ios_base& stream, int arg )
{
    cout << "in callback2" << endl;
    switch ( e )
    {
    case ios_base::erase_event:
        cout << "an erase event" << endl;
        break;
    case ios_base::imbue_event:
        cout << "an imbue event" << endl;
        break;
    case ios_base::copyfmt_event:
        cout << "an copyfmt event" << endl;
        break;
    };
}

int main( )
{
    // Make sure the imbue will not throw an exception
    // assert( setlocale( LC_ALL, "german" )!=NULL );

    cout.register_callback( callback1, 0 );
    cin.register_callback( callback2, 0 );

    try
    {
        // If no exception because the locale's not found,
        // generate an imbue_event on callback1
        cout.imbue(locale("german"));
    }
    catch(...)
    {
        cout << "exception" << endl;
    }

    // This will
    // (1) erase_event on callback1
    // (2) copyfmt_event on callback2
    cout.copyfmt(cin);

    // We get two erase events from callback2 at the end because
    // both cin and cout have callback2 registered when cin and cout
    // are destroyed at the end of program.
}
in callback1
an imbue event
in callback1
an erase event
in callback2
an copyfmt event
in callback2
an erase event
in callback2
an erase event

seekdirseekdir

Especifica el punto de partida para las operaciones de desplazamiento.Specifies starting point for offset operations.

namespace std {
    class ios_base {
    public:
        typedef implementation-defined-enumerated-type seekdir;
        static const seekdir beg;
        static const seekdir cur;
        static const seekdir end;
        // ...
    };
}

ObservacionesRemarks

El tipo es un tipo enumerado que describe un objeto que puede almacenar el modo de búsqueda utilizado como argumento para las funciones miembro de varias iostream clases.The type is an enumerated type that describes an object that can store the seek mode used as an argument to the member functions of several iostream classes. Los diferentes valores de marca son:The distinct flag values are:

  • beg, para buscar (modificar la posición de lectura o escritura actual) con respecto al principio de una secuencia (matriz, secuencia o archivo).beg, to seek (alter the current read or write position) relative to the beginning of a sequence (array, stream, or file).

  • cur, para buscar en relación con la posición actual dentro de una secuencia.cur, to seek relative to the current position within a sequence.

  • end, para buscar en relación con el final de una secuencia.end, to seek relative to the end of a sequence.

EjemploExample

// ios_base_seekdir.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>

int main ( )
{
    using namespace std;
    fstream file;
    file.open( "rm.txt", ios_base::out | ios_base::trunc );

    file << "testing";
    file.seekp( 0, ios_base::beg );
    file << "a";
    file.seekp( 0, ios_base::end );
    file << "a";
}

setfsetf

Establece las marcas especificadas.Sets the specified flags.

fmtflags setf(
    fmtflags _Mask
);
fmtflags setf(
    fmtflags _Mask,
    fmtflags _Unset
);

ParámetrosParameters

_Mask
Marcas que se van a activar.The flags to turn on.

_Unset
Marcas que se van a desactivar.The flags to turn off.

Valor devueltoReturn Value

Marcas de formato anterioresThe previous format flags

ObservacionesRemarks

La primera función miembro llama eficazmente a flags(_Mask | _Flags) (establecer bits seleccionados) y, a continuación, devuelve las marcas de formato anteriores.The first member function effectively calls flags(_Mask | _Flags) (set selected bits) and then returns the previous format flags. La segunda función miembro llama eficazmente a flags(_Mask & fmtfl, flags & ~_Mask) (reemplazar los bits seleccionados bajo una máscara) y, a continuación, devuelve las marcas de formato anteriores.The second member function effectively calls flags(_Mask & fmtfl, flags & ~_Mask) (replace selected bits under a mask) and then returns the previous format flags.

EjemploExample

// ios_base_setf.cpp
// compile with: /EHsc
#include <iostream>

int main( )
{
    using namespace std;
    int i = 10;
    cout << i << endl;

    cout.unsetf( ios_base::dec );
    cout.setf( ios_base::hex );
    cout << i << endl;

    cout.setf( ios_base::dec );
    cout << i << endl;
    cout.setf( ios_base::hex, ios_base::dec );
    cout << i << endl;
}

sync_with_stdiosync_with_stdio

Garantiza que iostream las operaciones de la biblioteca en tiempo de ejecución de C se producen en el orden en el que aparecen en el código fuente.Ensures that iostream and C run-time library operations occur in the order that they appear in source code.

static bool sync_with_stdio(
   bool _Sync = true
);

ParámetrosParameters

_Sync
Indica si todos los flujos están sincronizados con stdio .Whether all streams are in sync with stdio.

Valor devueltoReturn Value

Configuración anterior para esta función.Previous setting for this function.

ObservacionesRemarks

La función miembro estática almacena una stdio marca de sincronización, que es inicialmente true .The static member function stores a stdio sync flag, which is initially true. Cuando true es, esta marca garantiza que las operaciones en el mismo archivo se sincronizan correctamente entre las iostreams funciones y las definidas en la biblioteca estándar de C++.When true, this flag ensures that operations on the same file are properly synchronized between the iostreams functions and those defined in the C++ Standard Library. De lo contrario, la sincronización puede estar garantizada o no, pero se puede mejorar el rendimiento.Otherwise, synchronization may or may not be guaranteed, but performance may be improved. La función almacena _Sync en la stdio marca de sincronización y devuelve su valor almacenado anterior.The function stores _Sync in the stdio sync flag and returns its previous stored value. Solo puede llamarlo de forma confiable antes de realizar cualquier operación en los flujos estándar.You can call it reliably only before performing any operations on the standard streams.

unsetfunsetf

Desactiva las marcas especificadas.Turns the specified flags off.

void unsetf(
   fmtflags _Mask
);

ParámetrosParameters

_Mask
Marcas que se van a desactivar.The flags that you want to turn off.

ObservacionesRemarks

La función miembro llama eficazmente a flags(~_Mask & flags) (borrar bits seleccionados).The member function effectively calls flags(~_Mask & flags) (clear selected bits).

EjemploExample

Vea ios_base::setf para obtener un ejemplo de uso de unsetf .See ios_base::setf for a sample of using unsetf.

widthwidth

Establece la longitud del flujo de salida.Sets the length of the output stream.

streamsize width( ) const;
streamsize width(
   streamsize _Wide
);

ParámetrosParameters

_Wide
Tamaño deseado del flujo de salida.The desired size of the output stream.

Valor devueltoReturn Value

Valor de ancho actual.The current width setting.

ObservacionesRemarks

La primera función miembro devuelve el ancho del campo almacenado.The first member function returns the stored field width. La segunda función miembro almacena _Wide en el ancho del campo y devuelve su valor almacenado anterior.The second member function stores _Wide in the field width and returns its previous stored value.

EjemploExample

// ios_base_width.cpp
// compile with: /EHsc
#include <iostream>

int main( ) {
    using namespace std;

    cout.width( 20 );
    cout << cout.width( ) << endl;
    cout << cout.width( ) << endl;
}
20
0

xallocxalloc

Especifica que una variable forma parte de la secuencia.Specifies that a variable is part of the stream.

static int xalloc( );

Valor devueltoReturn Value

La función miembro static devuelve un valor estático almacenado, que se incrementa en cada llamada.The static member function returns a stored static value, which it increments on each call.

ObservacionesRemarks

Puede usar el valor devuelto como un argumento de índice único al llamar a las funciones miembro iword o pword .You can use the return value as a unique index argument when calling the member functions iword or pword.

EjemploExample

// ios_base_xalloc.cpp
// compile with: /EHsc
// Lets you store user-defined information.
// iword, jword, xalloc
#include <iostream>

int main( )
{
    using namespace std;

    static const int i = ios_base::xalloc();
    static const int j = ios_base::xalloc();
    cout.iword( i ) = 11;
    cin.iword( i ) = 13;
    cin.pword( j ) = "testing";
    cout << cout.iword( i ) << endl;
    cout << cin.iword( i ) << endl;
    cout << ( char * )cin.pword( j ) << endl;
}
11
13
testing

Consulte tambiénSee also

Seguridad para subprocesos en la biblioteca estándar de C++Thread Safety in the C++ Standard Library
Programación con iostreamiostream Programming
Convenciones de iostreamsiostreams Conventions