Red de conocimiento del abogados - Ley de patentes - Problemas al usar getline para leer archivos en c++

Problemas al usar getline para leer archivos en c++

En C++, la función getline se utiliza para leer una línea completa de datos del flujo de entrada estándar cin. Es decir, de forma predeterminada, getline no lee el archivo, sino la entrada del teclado en la línea de comando.

Para usar getline para leer archivos, lo primero que debemos hacer es redirigir cin al archivo a leer. El siguiente código se puede utilizar para implementar

streambuf *backup;

ifstream fin

fin.open("data.in"); los datos a leer del documento.

backup = cin.rdbuf(); // Realiza una copia de seguridad del búfer de cin.

cin.rdbuf(fin.rdbuf()); // Redirige el buffer de cin a un archivo.

//Realice las operaciones de lectura requeridas, incluido getline.

cin.rdbuf(backup); //Restaura el búfer cin original.

Después de ejecutar cin.rdbuf(fun.rdbuf());

puedes usar getline para leer la línea completa de datos del archivo.

El método de llamada de getline es

getline(char

*

buf,

int

tamaño);

Es decir, una fila de datos se lee y se almacena en buf. Si la longitud de los datos excede la longitud especificada por el tamaño, solo se leen los bytes de datos de tamaño.