¿Cómo utilizar 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");?//Abrir el archivo para ser leído.
backup?=?cin.rdbuf(); //Realice una copia de seguridad del búfer de cin.
cin.rdbuf(fin.rdbuf());?//?Redirecciona el buffer de cin a un archivo.
//?Realice las operaciones de lectura requeridas, incluida 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 size);
Es decir, leer una fila de datos y almacenarla en buf. Si se excede la longitud de los datos especificada por el tamaño, solo se leerán los bytes de datos del tamaño.