tengo un txt que tiene nombres de ciudades y finaliza con un 1 deberia darme solo ese trozo desde el nombre hasta el 1
Citar
londres blablablabla 1
paris blablablabla 1
roma blablabla 1
compila de diez, pero ejecuto y me sale un mensaje...paris blablablabla 1
roma blablabla 1
Citar
Unhandled exception at at 0x7634C41F in carta.exe: Microsoft C++ exception: std::out_of_range at memory location 0x0015F4EC.
aca el codigo Código:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
string carga_archivo (string nombre)
{
string linea;
ifstream miarchivo;
miarchivo.open(nombre);
if(!miarchivo.good())
{
cout << "Error abriendo archivo";
return "ERROR";
}
while(!miarchivo.eof())
{
getline(miarchivo, linea);
}
miarchivo.close();
return linea;
}
string ubicar_copiar(string leer_texto )
{
string frase, pedazo;
int aux=1;
int posicion1, posicion2;
cout<<"ingrese ciudad " <<endl;
cin >>frase;
posicion1=leer_texto.find(frase);
posicion2=leer_texto.find(aux,posicion1);
pedazo=leer_texto.substr (posicion1,posicion2);
return pedazo;
}
int main()
{
string texto, importante;
texto=carga_archivo("ciudad.txt");
importante=ubicar_copiar(texto);
cout<<importante<<endl;
cin.get();
return 0;
}