Código:
Escribe el nombre de archivo para abrirlo
hola
H♦/home/miusuario/hola
Process returned 255 (0xFF) execution time : 8.799 s
Press any key to continue.
Código
Fill block of memory
void * memset ( void * ptr, int value, size_t num );
Sets the first num bytes of the block of memory pointed by ptr to the specified value (interpreted as an unsigned char).
En concreto tienes que poner esto para inicializar esa zona de memoria en cero:
Código
Otra forma de hacerlo sin usar memset es:
memset(rutatemp, 0, 51);
Código
char rutatemp[201]; //La ruta completa del archivo rutatemp[0] = '\0';
También deberías controlar la entrada con la funciones fgets + sscanf.
Además debes mirar si el archivo se ha abierto, si no te dará el segmentation fault. Con un simple if lo puedes comprobar:
Código
archivo = fopen(rutatemp, "rt"); if(archivo) // Lo que quieras hacer con el archivo else printf("Error al abrir el archivo");
Sé que no querías código pero la mejor manera es ejemplificando, la programación es aprender de los errores, si alguien te puede sacar de estos comederos de cabeza mejor.
Un saludo.