Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/10/2012, 18:24
makotoakira
 
Fecha de Ingreso: octubre-2012
Ubicación: Colombia/Bucaramanga
Mensajes: 7
Antigüedad: 11 años, 5 meses
Puntos: 0
Cambiar nombre de fichero

Hola.

Tengo un problema, quiero cambiar el nombre de un archivo a uno nuevo, pero sin saber el nombre de ese archivo, me explico:

Quiero que al abrir el programa, busque, en el mismo directorio de donde se abrió todos los archivos, para cambiarles el nombre, por uno similar, solo cambiándole los espacios por un guion bajo(_).

El problema es que no se como cambiarle el nombre sustituyéndole los espacios.

Tengo esto:

Código PHP:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <dirent.h>


void CambiarName()
{
    
charold;
    
char* New;
    
DIR *dp;
    
struct dirent *ep;
    
dp opendir ("./");
    if (
dp != NULL)
    {
        while (
ep readdir (dp))
        {
            
old ep->d_name;
            New = 
ep->d_name;
            for(
int a strlen(New); a--)
            {
                if(New[
a] == ' ') New[a] = '_';

            }
            
rename(old,New);
            
puts(old);
            
puts(New);
        }
        (
voidclosedir (dp);
    }
}

int main()
{
    
CambiarName();
    return 
0;

El problema es que no cambia, pues el old, y el New se renombran a lo mismo, pero yo solo hago que se renombre el New, no el old.

¿Que tengo mal?¿Cual es la solucion?