Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   rename() y remove() (https://www.clubdelphi.com/foros/showthread.php?t=74115)

fedee 31-05-2011 16:41:50

rename() y remove()
 
Que tal gente? Les traigo una duda.. cuando uso las funciones de rename() y remove() de la librería <stdio.h>, me devuelven "-1" en su retorno.. No se q estará pasando.. me ayudan?

Este es el codigo..

AnsiString f = Edit1->Text;
fstream archivo, aux;

archivo.open("Articulos.dat", ios::in | ios::in | ios::binary );
aux.open("Articulos.tmp", ios::in | ios::out | ios::binary);
archivo.seekg(0,ios::end);
archivo.seekg(0,ios::beg);
archivo.read((char*)&c,sizeof(c));

while(!archivo.eof())
{
if(strcmp(c.codigo,f.c_str()) != 0 )
{

aux.write((char*)&c,sizeof(c));

}
archivo.read((char*)&c,sizeof(c));
}

archivo.close();
aux.close();

archivo.clear(0);
aux.clear(0);

ShowMessage(remove("Articulos.dat"));
ShowMessage(rename("Articulos.tmp","Articulos.dat"));

Al González 31-05-2011 17:58:58

No conozco mucho del tema, pero encontré esto:
Código:

* rename example */
#include <stdio.h>

int main ()
{
  int result;
  char oldname[] ="oldname.txt";
  char newname[] ="newname.txt";
  result= rename( oldname , newname );
  if ( result == 0 )
    puts ( "File successfully renamed" );
  else
    perror( "Error renaming file" );
  return 0;
}

http://www.cplusplus.com/reference/c...cstdio/rename/

Estoy seguro que puede servirte.

Saludos.

Al González. :)

P.D. Por cierto, es biblioteca, no librería. ;)

ecfisa 31-05-2011 21:41:39

Hola.

Para saber el motivo, también te puede servir revisar el valor de la variable global: errno (errno.h). Los valores de error, de acuerdo a la operación que estes realizando, son:

EEXIST: El archivo ya existe.
ENOENT: Archivo o directorio inexistente.
ENOTSAM: No es el mismo dispositivo.

Saludos.


La franja horaria es GMT +2. Ahora son las 14:02:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi