Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/05/2006, 08:16
nILaRT
 
Fecha de Ingreso: mayo-2006
Mensajes: 1
Antigüedad: 17 años, 11 meses
Puntos: 0
El maravilloso mundo de los punteros...

Primero saludar a todos, soy nuevo en el foro, pero supongo que a partir de ahora me vereis a menudo =) vereis, tengo un problema con un puntero a cadena, el caso es que quiero recibir por pantalla el nombre de un archivo que luego abrire en otra funcion.

Pongo una parte del codigo para que veais lo que he hecho:

Cita:
//PROTOTIPOS DE FUNCIONES DE GUARDAR Y CARGAR
char* Solicitar_Fichero();
void Guardar_Vehiculo_Optimo(pVehiculo pCabezaVehiculoOptimo, char* Nombre_Fichero);

//PROGRAMA PRINCIPAL
void main(){
char* Nombre_Fichero; //declaramos puntero a dato tipo char

Nombre_Fichero = Solicitar_Fichero(); //llama a la funcion solicitar fichero
Guardar_Vehiculo_Optimo(pCabezaVehiculoOptimo,Nomb re_Fichero);
}

//Funcion solicitar Fichero
char* Solicitar_Fichero()
{
char Nombre[20]; //declaramos variable tipo char
char* Nombre_Fichero; //declaramos puntero a tipo char
Nombre_Fichero=Nombre; //apuntamos el puntero a la variable Nombre
clrscr();
gotoxy(6,10);
textcolor(14);
cprintf("Introduzca nombre del archivo: ");
scanf("%s", Nombre); //escaneamos el nombre y lo guardamos en la variable Nombre
return (Nombre_Fichero); //devolvemos el puntero a la variable nombre
}

//Funcion Guardar Vehiculo Optimo
void Guardar_Vehiculo_Optimo(pVehiculo pCabezaVehiculoOptimo, char* fichero)
{
FILE* pFichero;
char nombre_fichero[100];

strcpy(nombre_fichero,fichero);
strcat(nombre_fichero,".opt");

pFichero = fopen(nombre_fichero,"ab");
if(pFichero == NULL)
{
cprintf("El Fichero no se ha podido crear!",10,25);
while(!kbhit());
}
}
El caso es que salta el error de que no se ha podido crear el fichero, y tiene toda la pinta de que al declarar la variable Nombre dentro de la funcion Solicitar_Fichero, una vez que termina esta funcion esa variable desaparece y el puntero devuelto no sirve para nada =P

Asi que no se como hacerlo, quizas creando una variable global para el Nombre? cualquier idea seria de ayuda

Un saludo,
Gracias