Problemas para abrir ficherosHola buenas, estoy empezando a tocar c++ y no puedo

Iniciado por Dato Vagabundo, 1 Agosto 2016, 19:43 PM

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

Dato Vagabundo

Hola buenas, estoy empezando a tocar c++ y no puedo abrir un fichero introduciendo yo el nombre del fichero por teclado. Tengo esto y no me funciona:

    char nomFichero[20];
    FILE *fich;

    cin>>nomFichero;
    fich=fopen(nomFichero,"r");
   
    if(fich==NULL)
    {
        cout<<"No existe"<<endl;
       
    }
Si alguien me puede echra una mano se lo agradeceria.
Gracias de antemano y un saludo.

JavierScars

El fichero existe? Y aparte de eso le estás dando la extensión del fichero junto con su nombre? Por ejemplo "fichero.txt" además recuerda que debe estar en la misma carpeta que el programa/proyecto que estas creando.

Enviado desde mi G630-U251 mediante Tapatalk
Usa lo malo de la vida a tu favor, escala montañas de problemas para deslizarte sobre soluciones, derrumba muros de decepciones para encontrar la libertar de la felicidad,  y quema la leña del fracaso para calentarte con el éxito. Recuerda que sin la oscuridad la luz no brillaría tanto.

class_OpenGL

También debes recordar que si pasas una ruta alternativa, no tiene que tener espacios

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL

JavierScars

Cita de: class_OpenGL en  1 Agosto 2016, 20:17 PMTambién debes recordar que si pasas una ruta alternativa, no tiene que tener espacios
No se mucho sobre el manejo de rutas alternativas pero no se podría usar el "\ "  entre los espacios para lograr llegar a una ruta que los contiene? O por lo menos así funciona en la consola de linux, en windows creo que si acepta los espacios.

Enviado desde mi G630-U251 mediante Tapatalk
Usa lo malo de la vida a tu favor, escala montañas de problemas para deslizarte sobre soluciones, derrumba muros de decepciones para encontrar la libertar de la felicidad,  y quema la leña del fracaso para calentarte con el éxito. Recuerda que sin la oscuridad la luz no brillaría tanto.

class_OpenGL

Lo malo de usar espacios es que el operador >> de std::cin solo recoge la primera palabra, por lo que si hay espacios, no recoge toda la dirección

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL

JavierScars

Cierto... Pero con getline funcionaria, creo.

Enviado desde mi G630-U251 mediante Tapatalk
Usa lo malo de la vida a tu favor, escala montañas de problemas para deslizarte sobre soluciones, derrumba muros de decepciones para encontrar la libertar de la felicidad,  y quema la leña del fracaso para calentarte con el éxito. Recuerda que sin la oscuridad la luz no brillaría tanto.