Pregunta

  1. Según la referencia, si uso ifstream infile ( "test.txt" , ifstream::in ); va a Allow input operations on the stream. Pero ¿cuáles son algunos de los ejemplos de "operaciones de entrada"?
  2. Es ifstream infile ( "test.txt" , ifstream::in | ifstream::binary ); ¿La sintaxis correcta para usar múltiples indicadores?
  3. ¿Hará alguna diferencia si cambio? ifstream:: a iso:: ?

Gracias

¿Fue útil?

Solución

  
      
  1. Según la referencia, si uso ifstream infile (" test.txt ",   ifstream :: in); Permitirá entrada   operaciones en la corriente. Pero que son   algunos de los ejemplos de la entrada &   operaciones " ;?
  2.   

Lectura de un archivo que significaría todo lo que una secuencia de entrada puede soportar. Ver istream funciones miembro. Por lo general, puede realizar tanto lecturas formateadas (usando >>) como no formateadas (usando read). Recuerde que ifstream es una especialización de la plantilla basic_ifstream para el tipo char. Dependiendo de sus necesidades, digamos que para leer el archivo codificado UTF-16, es posible que tenga que usar una especialización diferente (wifstream) o incluso usar un entorno local especial (lea esto para obtener más información sobre las configuraciones regionales).

  
      
  1. Es ifstream infile (" test.txt ", ifstream :: in | ifstream :: binary);   la sintaxis correcta para usar múltiples   banderas?
  2.   

Sí.

  
      
  1. ¿Hará alguna diferencia si cambio ifstream :: a iso ::?
  2.   

No.

Otros consejos

Las operaciones de flujo son extraction << y insertion >>.Cuando haces lo siguiente suponiendofile es de fstream tipo:

file << 5 << 6.5 << "Hello World!"; // insertion of data (output)
file >> x >> y >> str; // exaction of data (input)

También podrías lidiar con el stream como un binary stream.En ese caso, realmente no parece un "stream" de datos, pero eso le brinda acceso aleatorio a los datos.En algunos casos no puedes usar el modo binario, especialmente si tus datos no están disponibles como una transmisión de red.La inserción y la extracción son las dos operaciones principales en las transmisiones.

ifstream se crea como un input stream por defecto.Entonces, std::ios::in es redundante en este caso.Estás usando las banderas correctamente.

todas las corrientes heredan de ios.Entonces, las banderas están disponibles en ambos lugares, puedes recuperarlas desde ios directamente o desde fstream.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top