Ver Mensaje Individual
  #3 (permalink)  
Antiguo 25/10/2012, 03:49
ecfisa
 
Fecha de Ingreso: julio-2012
Mensajes: 133
Antigüedad: 12 años, 4 meses
Puntos: 22
Respuesta: funcion rename

Hola ema1993.

Debes anteponer la ruta al nombre del archivo, en tu ejemplo:
Código C:
Ver original
  1. rename("C:\\Carpeta\\test.txt", "C:\\Carpeta\\prueba.txt");

Un ejemplo simple, supongamos que en C:\Carpeta1, tenes los archivos A1.TXT, A2.TXT, A3.TXT, A4.TXT, A5.TXT . Y deseas renombrar esos archivos como UNO.TXT, DOS.TXT, TRES.TXT, CUATRO.TXT, CINCO.TXT pero en otro destino, digamos C:\Carpeta2:

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. #define PATH1 "C:\\CARPETA1\\"  /* Ruta origen */
  5. #define PATH2 "C:\\CARPETA2\\"  /* Ruta destino */
  6.  
  7. int main()
  8. {
  9.   char *oldname[5] = {"A1.TXT","A2.TXT","A3.TXT","A4.TXT","A5.TXT" };
  10.   char *newname[5] = {"UNO.TXT","DOS.TXT","TRES.TXT","CUATRO.TXT","CINCO.TXT"};
  11.   char oldn[256], newn[256];
  12.   int i;
  13.  
  14.   for (i = 0; i < 5; i++) {
  15.     /* Ruta1 + nombre_viejo */
  16.     strcpy(oldn, PATH1);
  17.     strcat(oldn, oldname[i]);
  18.     /* Ruta2 + nombre_nuevo */
  19.     strcpy(newn, PATH2);
  20.     strcat(newn, newname[i]);
  21.     rename(oldn, newn);
  22.   }
  23.   return 0;
  24. }

Saludos.