ficheros en c++!

Vereis tengo maána el examen final de laboratorios de c++, y tengo una duda sobre el ficher, toy liado con una practica pero lo unico que no me sale esn la maldita lectura de texto con ficheros, yo uso el getline(in,codigo,ENTER), donde in es el flujo de entrada, codigo es la variables donde se guardara y enter el separador, y lo unico que me sale es "no matching function for call to `getline(std::ifstream&, int&, const char&)' ", creo que es que no me reconoce la funcion pero los modulos estan bien definidos ya que los llevo usando para el resto, alguien tiene alguna idea?¿?

aki pongo un ejemplo de mi codigo:




// Incluir E/S y Librerías Standard
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <string>

using namespace std;

// Programa Principal
int main()
{
const char SP=' ';
const char ENTER='\n';

ifstream in;
int dato;
string nombre;


cout <<"nombre fich";
getline(cin,nombre,ENTER);
in.open(nombre.c_str());
getline(in, dato,ENTER);
cout << dato;

in.close();


}
re hago por 3 tercera vez

SP y ENTER no pueden ser constantes

dato y nombre pasan a ser string

Sp por eso tiene valor asignado pero no usado
podria ser que getline solo funcione con strings, y como dato es int no funcione por eso? No me hagas mucho caso, que el c++ no lo he tocado mucho
Olbapk escribió:ifstream in;
int dato;
string nombre;


cout <<"nombre fich";
getline(cin,nombre,ENTER);
in.open(nombre.c_str());
getline(in, dato,ENTER);
cout << dato;

in.close();


}


Mira, si usas getline(in, dato, ENTER) para leer del fichero de texto, es porque está leyendo y guardando en una variable string, y dato tu la declaras de tipo int, así por eso no te funciona. o declaras dato de tipo string, o usas:

fich >> dato;
fich.ignore(); //para ignorar el ENTER
3 respuestas