Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: flony en 2 Octubre 2013, 05:31 am



Título: no abre un archivo txt [solucionado]
Publicado por: flony en 2 Octubre 2013, 05:31 am
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"
Código:
#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;
}



Título: Re: no abre un archivo txt
Publicado por: eferion en 2 Octubre 2013, 10:02 am
deberías mirarte la declaración de getline. No devuelve un bool, sino una referencia de tipo ifstream.


Título: Re: no abre un archivo txt
Publicado por: ecfisa en 2 Octubre 2013, 11:46 am
Hola.

Código
  1. #include<iostream>
  2. #include<fstream>
  3. #include<string>
  4. #include<cstdlib>
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10.  ifstream miArchivo ("nombres.txt", ifstream::in);
  11.  string linea, nombre;
  12.  bool found = false;
  13.  
  14.  if (!miArchivo.is_open()) {
  15.    cout << "Error abriendo nombres.txt";
  16.    return EXIT_FAILURE;
  17.  }
  18.  
  19.  cout << "ingrese el nombre buscado: ";
  20.  getline(cin, nombre);
  21.  
  22.  while (getline(miArchivo, linea, ','))
  23.    if (linea.find(nombre) != string::npos)
  24.      found = true;
  25.  
  26.  if (found)
  27.    cout << "el nombre buscado esta presente ";
  28.  else
  29.    cout << "el nombre buscado no esta presente";
  30.  
  31.  miArchivo.close();
  32.  
  33.  cout << endl;
  34.  
  35.  return EXIT_SUCCESS;
  36. }
  37.  

Saludos :)


Título: Re: no abre un archivo txt[solucionado]
Publicado por: flony en 2 Octubre 2013, 13:53 pm
buen día a todos, ayer en un momento de sueño  :-X :-X, no me di cuenta de una cosa muy importante, "la ubicación del txt ", ok no es el código mas excelente  :silbar: :silbar: :silbar:
 pero sale  ;-) ;-) ;-)
bueno como modo de aporte para aquellos que usan visual c++, cuando hacen un proyecto de consola hace como 20 carpetas y uno no sabe donde va el famosos txt, así que acá una imagen para que sepan donde se ubica
http://subefotos.com/ver/?94d6783d5797d33fdbc1df50266b18a7o.jpg (http://subefotos.com/ver/?94d6783d5797d33fdbc1df50266b18a7o.jpg)