[C++] Necesito ayuda con "getline"

Iniciado por ianmorar03, 15 Noviembre 2016, 06:27 AM

0 Miembros y 1 Visitante están viendo este tema.

ianmorar03

Hola de nuevo!
Tengo un problema que quiero resolver. Quiero leer un fichero, con ifstream, y getline, lo que pasa es que no puedo leer una linea especifica, se puede hacer eso?

Intente con If pero no me sale :( quisiera que por favor me ayudaran!

Aqui dejo el codigo
Código (cpp) [Seleccionar]

#include <iostream>
#include <fstream>


using namespace std;


int main(){
string leeArchivo;
char respuesta1;
char respuesta2;

ifstream file("ejemplo.txt");
getline(file, leeArchivo);
if(leeArchivo == "puede volar?"){
cout<<leeArchivo<<endl;
}
cin>>respuesta1;
if(respuesta1 == 'n'){
while(getline(file, leeArchivo)){
if(leeArchivo == "puede ladrar?"){
cout<<leeArchivo<<endl;
}
}
cin>>respuesta2;
if(respuesta2 == 'n'){
while(getline(file, leeArchivo)){
if(leeArchivo == "gato"){
cout<<leeArchivo<<endl;
}
}
}
if(respuesta2 == 's'){
getline(file, leeArchivo);
if(leeArchivo == "perro"){
cout<<leeArchivo<<endl;
}

}
}
else{
getline(file, leeArchivo);
if(leeArchivo == "pajaro"){
cout<<leeArchivo<<endl;
}
}

file.close();
return 0;
}

No se si el codigo esta bien, si por favor me pudieran ayudar seria genial!
Aquellos que estan locos como para pensar que pueden cambiar el mundo , son los que lo hacen.

dato000

prueba con esto:

Código (cpp) [Seleccionar]
#include <iostream>
#include <fstream>
#include <string>
#include <stdlib.h>

using namespace std;

int main(int argc, char** argv) {
    string linea;
    ifstream archivoLeido ("archivo.txt.");
    int numeroLinea = 1;

    if(archivoLeido)
    {
        while(getline (archivoLeido, linea) )
        {
            if(linea == "colombia Vs argentina"){
                cout << "linea buscada: " << linea <<endl;
                cout << "Se encuentra en la linea numero: " << numeroLinea << endl;
            }
            numeroLinea++;
        }

    }
    else
        cout<<"No se pudo abrir el archivo";

    return 0;
}


Ejemplo:

Archivo.txt
Citar
holacolombiaholacolombiaholacolombia
hola
hola
hola
colombia Vs argentina
hola
hola
hola colombia





ianmorar03

Cita de: dato000 en 15 Noviembre 2016, 22:15 PM
prueba con esto:

Código (cpp) [Seleccionar]

#include <iostream>
#include <fstream>
#include <string>
#include <stdlib.h>

using namespace std;

int main(int argc, char** argv) {
    string linea;
    ifstream archivoLeido ("archivo.txt.");
    int numeroLinea = 1;

    if(archivoLeido)
    {
        while(getline (archivoLeido, linea) )
        {
            if(linea == "colombia Vs argentina"){
                cout << "linea buscada: " << linea <<endl;
                cout << "Se encuentra en la linea numero: " << numeroLinea << endl;
            }
            numeroLinea++;
        }

    }
    else
        cout<<"No se pudo abrir el archivo";

    return 0;
}


Ejemplo:

Archivo.txt



Esta muy interesante, deberia de probar eso, pero es para saber cual linea esta leyendo, y saber que en que numero de linea se encuentra la frase, pero me gustaria saber como hace uno para imprimir una linea en especifico!
Aquellos que estan locos como para pensar que pueden cambiar el mundo , son los que lo hacen.