Duda funciones - Básico

Iniciado por MasterPunk, 1 Junio 2011, 00:16 AM

0 Miembros y 1 Visitante están viendo este tema.

MasterPunk

Hola, no me aclaro aun muy bien con el uso de funciones. Aunque tengo un varias dudas os voy a hacer una pregunta concreta, y con ello espero aclararme y poder seguir aprendiendo.

Si tengo dos funciones:
Código (cpp) [Seleccionar]

...

int funcion1()
{
   for (int i=1;i>0;i++)
    {
        CopyFile("C:\\a.txt","C:\\b.txt",false); //por ejemplo
    }
}

int funcion2()
{
   for (int a=1;a>0;a++)
    {
        CopyFile("C:\\a.txt","C:\\c.txt",false);
    }
}

...


¿La función 2 nunca llegará a realizar su tarea?¿Hay alguna forma de que la realice?
Gracias de antemano. Salu2 )

Khronos14

MasterPunk, ¿por qué te metes con la API de Windows si todavía no sabes programar?

Las funciones tienen que devolver un valor, no creo ni que te compile. Además estas haciendo un bucle infinito en ambas funciones.

Si recuerdo bien, la función CopyFile tiene 3 parámetros. El primero es el archivo que vas a copiar (tiene que existir), el segundo es la ruta del destino, y el tercer parámetro de tipo BOOL describe si se puede sobreescribir el archivo. La función CopyFile devuelve TRUE si tiene éxito.

Saludos.

MasterPunk

#2
Cita de: Khronos14 en  1 Junio 2011, 00:28 AMMasterPunk, ¿por qué te metes con la API de Windows si todavía no sabes programar?

:-X Es lo primero que se me ha ocurrido

Cita de: Khronos14 en  1 Junio 2011, 00:28 AMAdemás estas haciendo un bucle infinito en ambas funciones.

Exacto, esa es mi pregunta. ¿Si una función tiene un bucle infinito, la siguiente función nunca iniciará?

Cita de: Khronos14 en  1 Junio 2011, 00:28 AMSi recuerdo bien, la función CopyFile tiene 3 parámetros. El primero es el archivo que vas a copiar (tiene que existir), el segundo es la ruta del destino, y el tercer parámetro de tipo BOOL describe si se puede sobreescribir el archivo.

Y tres he puesto tres parametros ...  :huh:

Mr.Blue

no es la mejor manera para hacer un bucle infitino, pero andaria.
para la leectura faltaria un return, pero por el bucle nuca llegaria a devolver nada hay q ver si lo acepta el compilador.

CopyFile("a.txt","b.txt",false); //por ejemplo


tenes que poner la ruta exacta. De donde, a donde, si archivo existe o no, falla, o reescribe