Duda sobre uso de Direcciones para ubicar archivos

Iniciado por ZedGe, 12 Diciembre 2011, 02:15 AM

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

ZedGe

Tengo que ingresar un archivo por consola, abrirlo y trabajar dentro de el.


Como hago para que el archivo pueda estar en cualquier parte del computador y ser abierto igual solo ingresando la direccion?? y como lo puedo abrir?



FILE* ficheroEntrada;
printf("Dime el nombre del Archivo: ");
gets(nombre);
ficheroEntrada = fopen(nombre, "rb");


eso tengo para leerlo si esta en la carpeta de mi programa, como lo hago para buscarlo en otro lado, por ejemplo ingresando C:\Users\Usuario\Documents\CodeBlocks\Prueba.txt

buscar ese archivo y leerlo

bdoX

Se puede hacer de dos formas:


FILE* ficheroEntrada;
char nombre[] = "C:\\Users\\Usuario\\Documents\\CodeBlocks\\Prueba.txt";

if ( (ficheroEntrada = fopen(nombre, "rb")) == NULL )
{
    printf ( "error al abrir el fichero\n" );
}
else
{
    /*puedes hacer la respectiva lectura*/
}


o tambien


FILE* ficheroEntrada;
char nombre[] = "C:/Users/Usuario/Documents/CodeBlocks/Prueba.txt";

if ( (ficheroEntrada = fopen(nombre, "rb")) == NULL )
{
    printf ( "error al abrir el fichero\n" );
}
else
{
    /*puedes hacer la respectiva lectura*/
}

ZedGe

osea da = si se pone el nombre o la direccion lo abre de igual manera??


osea da igual si me archivo se llama Prueba.txt


o  "C:/Users/Usuario/Documents/CodeBlocks/Prueba.txt";

no se si me explico


bdoX

Cita de: ZedGe en 12 Diciembre 2011, 03:28 AM
osea da = si se pone el nombre o la direccion lo abre de igual manera??


osea da igual si me archivo se llama Prueba.txt


o  "C:/Users/Usuario/Documents/CodeBlocks/Prueba.txt";

no se si me explico



si tu ejecutable se encuentra en el mismo directorio que el archivo Prueba.txt, no es necesario indicarle la ruta completa, en caso contrario, tienes que hacerlo de la manera que mencioné anteriormente. El if() que coloque, valida en el caso de que el archivo no existe, u ocurra por algun otro motivo.

ZedGe