Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Funciones asociadas a ficheros

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Funciones asociadas a ficheros Responder citando

Hola. Como digo en el otro post he retomado la programación que dejé hace tres años. Al recompilar de nuevo el código me aparece error en funciones asociadas a archivos y que antes me funcionaban:
Código:
int ODXF::Abre(char *pnombre,int m){
  int i;
  Nombre=new char[60];
  strcpy(Nombre,pnombre);
  abierto=1;
  switch(m){
    case 0:
      out.open(Nombre);
      if(!out)                                   //* El archivo no puede abrirse
        return 0;
      else{                                      //* Abierto el fichero en modo normal
        nuevo=1;
   return 1;
      }
    case 1:
//*** Así es como lo tenía programado al principio ***
/*
      out.open(Nombre,ios::noreplace);
      if(!out){                                  //* El archivo ya existe
   out.open(Nombre,ios::app);               //* Abro el archivo en modo "añadir"
   nuevo=0;
   return 4;
      }
      else                                       //* El archivo no puede abrirse
        return 2;
*/
//******* Así es como está programado ahora al *******
//*********** no admitir "ios::noreplace" ************

      i=access(Nombre,00);
      if(i==0){                                  //* El archivo ya existe
   out.open(Nombre,ios::app);               //* Abro el archivo en modo "añadir"
   nuevo=0;
   return 4;
      }
      else                                       //* El archivo no puede abrirse
        return 2;

  }
  return -1;
}

La función "access" y "ios::noreplace" no funcionan.
¿Cómo puedo hacerlo? Me gustaría seguir usando funciones propias de ficheros, en vez de de la VCL.
Código:

_________________
Nunca digas "Es imposible" sin intentarlo antes.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Resuelto el problema de la ayuda en Windows Vista he visto que la función access está en el fichero de cabecera "io.h". Incluyendo esta cabecera se resuelve el tema.
Mi pregunta es: ¿estó me va a pasar con las funciones "viejas" que tengo en uso?
Otra cosa: me daba problemas con una declaración del tipo:
Código:
double far **valores

Quitando "far" compila nuevamente. ¿Ya no hace falta poner esta declaración para que asigne las zonas correctas de memoria?
_________________
Nunca digas "Es imposible" sin intentarlo antes.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.