y poner abajo del sistem rename usan:
gets(NombreArchivo);
strcat(NombreArchivo, ".txt");// ahora texto
strcat(RutaAbsoluta, NombreArchivo);
es la unica manera que pude abrir un archivo en devc pero la tarea era en turbo c++ , solo que no abre archivos en otras unidades externos solo de los discos locales
----------------------------------------------------------------
Código
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <conio.h> void limpriarCadena(char cad[], int n) { for(int i = 0; i < n; i++) { cad[i] = '\0'; } } int main() { char Unidad[3]; char Ruta[150]; char RutaAbsoluta[150]; char NombreArchivo[50]; char c=' '; FILE *F,*N; do { clrscr();//limpiar la ubicacion cada vez que se cicle limpriarCadena(Unidad, 2); limpriarCadena(Ruta, 150); limpriarCadena(RutaAbsoluta, 150); limpriarCadena(NombreArchivo, 50); printf("\n -Ingresa la letra de la unidad de tu dispositivo(C,D,F...):\n-> "); scanf("%c", &Unidad[0]); strcat(Unidad, ":\\"); strcpy(RutaAbsoluta, Unidad); printf("\n -Ingresa la ruta del archivo(deja en blanco si esta en la raiz):\n-> %s", Unidad); while(getchar()!='\n'); gets(Ruta); if(strlen(Ruta)!=0) { strcat(RutaAbsoluta, Ruta); strcat(RutaAbsoluta, "\\"); } printf("\n Ingresa el nombre del archivo de word (doc) que desea abrir: \n"); gets(NombreArchivo); strcat(NombreArchivo, ".doc"); strcat(RutaAbsoluta, NombreArchivo); F = fopen(RutaAbsoluta, "r"); if(F == NULL) { printf("\n\n Error al abrir el archivo! Intenta de nuevo...\nPresiona enter para continuar..."); while(getchar()!='\n'); } } while(F == NULL); clrscr(); printf("\n Texto en: %s\n\n", RutaAbsoluta); // imprime la ruta del archivo N = fopen("Respaldo.txt", "w"); printf("El respaldo se creo correctamente "); while(!feof(F)) { c = getc(F); fprintf(N,"%c",c); printf("%c", c); } puts("Copia de seguridad creada con exito"); fclose(F);//imprime el contenido del archivo fclose(N); //empieza respaldo getch(); return 0; }
MOD EDIT: Usar etiquetas GeSHi y no hacer doble post.