Autor
|
Tema: no abre un archivo txt [solucionado] (Leído 2,806 veces)
|
flony
Desconectado
Mensajes: 584
|
hola como están, bueno la verdad esta duda surge que por leer el tema de uno de los chicos decidí trabajar con archivos pero en c++, se supone es un txt que tiene nombres separados por comas, la cuestión es que siempre salta al final y no me da un resultado, error" #include<iostream> #include<fstream> #include<string>
using namespace std;
int main() { string linea; string nombre; char a=','; cout<<"ingrese el nombre buscado"<<endl; getline(cin, nombre); ifstream miArchivo ("nombres.txt"); if (miArchivo.is_open()) { while (getline(miArchivo, linea,a )) { if (nombre==linea) { cout<<"el nombre buscado esta presente "<<endl; } else { cout<<"el nombre no esta"<<endl; } } miArchivo.close(); } else { cout<<"algo paso"<<endl; } getchar(); return 0; }
|
|
« Última modificación: 2 Octubre 2013, 13:55 pm por flony »
|
En línea
|
si un problema no tiene solucion entonces no es un problema...es algo inevitable
|
|
|
eferion
Desconectado
Mensajes: 1.248
|
deberías mirarte la declaración de getline. No devuelve un bool, sino una referencia de tipo ifstream.
|
|
|
En línea
|
|
|
|
ecfisa
Desconectado
Mensajes: 114
|
Hola. #include<iostream> #include<fstream> #include<string> #include<cstdlib> using namespace std; int main() { ifstream miArchivo ("nombres.txt", ifstream::in); string linea, nombre; bool found = false; if (!miArchivo.is_open()) { cout << "Error abriendo nombres.txt"; return EXIT_FAILURE; } cout << "ingrese el nombre buscado: "; getline(cin, nombre); while (getline(miArchivo, linea, ',')) if (linea.find(nombre) != string::npos) found = true; if (found) cout << "el nombre buscado esta presente "; else cout << "el nombre buscado no esta presente"; miArchivo.close(); cout << endl; return EXIT_SUCCESS; }
Saludos
|
|
|
En línea
|
|
|
|
|
|
|