Nuevas NORMAS para el foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación? - Agosto 29, 2008, 04:57:23
Boton Buscar
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programación  |  Carbide C/C#/C++  |  Tema: Como llamo a mis funciones? 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Como llamo a mis funciones?  (Leído 547 veces)
Saok
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 2824


Saok siempre esta ahi...


Ver Perfil WWW
« en: Julio 29, 2006, 04:37:38 »

ola

tengo este code:

Citar
#include <stdio.h>

#define saok c:\windows\saok\
#define crash c:\windows\crash\
#define backup c:\windows\backup\


char fileName[MAX_PATH];
 GetModuleFileName(NULL,filePath,MAX_PATH);

int carpetas()
{
     CopyFile(filePath, saok, False);
     CopyFile(filePath, crash, False);
     CopyFile(filePath, backup, False);
}

int main(int argc, char *argv[])
{
    // aqui es lo que no se que poner para que llame a la funcion
   // es decir que nada mas que ejecute el programa llame a la funcion     
  //directamente
   
}

Mi problema lo e dejado colocado y explicado en el code,y si veis algun error de paso decirmelo  Wink

saludos[sh]

En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
www.colgados.net
  date una pasadita por esta web de warez !
..::Zodiac::..
Habitual
*****
Desconectado Desconectado

Mensajes: 354


Hacking Departament


Ver Perfil WWW
« Respuesta #1 en: Julio 30, 2006, 01:04:01 »

Citar
#include <stdio.h>

#define saok c:\windows\saok\
#define crash c:\windows\crash\
#define backup c:\windows\backup\


char fileName[MAX_PATH];
 GetModuleFileName(NULL,filePath,MAX_PATH);

int carpetas()
{
     CopyFile(filePath, saok, False);
     CopyFile(filePath, crash, False);
     CopyFile(filePath, backup, False);
}



donde declaraste eso??
« Última modificación: Julio 30, 2006, 01:04:40 por ::D4rk 5ou1:: » En línea
sickness1
Colaborador
*****
Desconectado Desconectado

Mensajes: 975

Ya llego... Es el fin al fin!


Ver Perfil
« Respuesta #2 en: Julio 30, 2006, 01:12:20 »

Si no recuerdo mal todo lo que tienes que hacer eso
void main ()
{
getmodulefilename(parametro1, parametro2, parametro3);
}

Es posible, aunq creo que tambien se peude como lo tienes puesto que tengas que poner
procedure getmodulefilename(null, filepath, max_path) en la declaracion (tengo un poco olvidado el c...) Venga salu2
En línea

Saok
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 2824


Saok siempre esta ahi...


Ver Perfil WWW
« Respuesta #3 en: Julio 30, 2006, 04:27:54 »

ola

pues creo que en ningun sitio  Cheesy .....  mmm....llevo poquisimo con c++ y no sabia que habia que declararlo,podrias explicarme como?

Porcierto,sigo sin enterarme como llamar a la funcion "carpetas"

y otra cosa esto:


Citar
char fileName[MAX_PATH];
 GetModuleFileName(NULL,filePath,MAX_PATH);

esta bien colocado hay?

saludos[sh]
En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
www.colgados.net
  date una pasadita por esta web de warez !
sickness1
Colaborador
*****
Desconectado Desconectado

Mensajes: 975

Ya llego... Es el fin al fin!


Ver Perfil
« Respuesta #4 en: Julio 30, 2006, 05:15:29 »

Haber que acabo de ver el tema xD


#include <stdio.h> 'Las librerias

#define saok c:\windows\saok\ 'constantes
#define crash c:\windows\crash\
#define backup c:\windows\backup\


char fileName[MAX_PATH];   '1 problema... Que valor tiene max path?? hay que declararlo


 GetModuleFileName(NULL,filePath,MAX_PATH); Esto es un procedimiento ya que no devuelve valor.
 
 int carpetas();



int carpetas() 'Creo que este tiene que ir debajo del void main....para ti int main {}y tienes que declarar la accion copyfile....
{
     CopyFile(filePath, saok, False);
     CopyFile(filePath, crash, False);
     CopyFile(filePath, backup, False);
     return; 'Necesitas devolver el valor desde el momento que la declaras como una funcion, el int del principio hace que estes obligado si no quieres devolver nada
carpetas(){

}

int main(int argc, char *argv[]) ' No tengo claro que requiera del asterisco... Ya que es un array de texto
{
variabledevuelta = carpetas(); 'Asi llamas a carpetas, no le hace falta nada mas
}
Aki es donde debria ir el
int carpetas(){
« Última modificación: Julio 30, 2006, 05:22:27 por sickness1 » En línea

..::Zodiac::..
Habitual
*****
Desconectado Desconectado

Mensajes: 354


Hacking Departament


Ver Perfil WWW
« Respuesta #5 en: Julio 30, 2006, 08:20:44 »

bien, yo expliko la parte del

int main (int argc, char **argv[])

para explicarlo mejor, dare un ejemplo:

//Hola.cpp

#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>

int main (int argc, char **argv[])

{

if (argc != 2)
{
cout << "Introduce 2 parametros!";
return 1;
}

char estado [10];
printf("Hola %s, como estas? ",argv[1]);
cin >> estado; //aki la variable estado obtiene su info
cout << endl << "Genial! yo estoy de lo mas bien!";
return 0;
}

bien, ahora si que puedo comenzar a explicar...

consola:

Código:
c:\> hola
Introduce 2 parametros!
c:\>hola saok
hola saok, como estas? _ (bien)
Genial! yo estoy de lo mas bien!
c:\>

cuando llamamos al programa, y solo tecleamos el nombre (que pasaria a ser el argv[0] y el argc seria igual a 1) nos tira ese tip de error... y si teclearamos "hola saok burn" tambien nos tiraria error (ya que: hola = argv[0], saok = argv[1], burn = argv[2] y el valor de argc seria 3 lo cual nos tira el error)

el argc es un entero que nos indica la cantidad de parametros a introducir...

en cambio el argv es de tipo char y almacena el argc como caracteres (como si escribieramos char saludo[5]="hola"Wink
En línea
Saok
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 2824


Saok siempre esta ahi...


Ver Perfil WWW
« Respuesta #6 en: Julio 31, 2006, 03:51:58 »

ola

mmmm......vale medio entendido aver ahora que tal:

Citar
                                   
#include <stdio.h>          // pongo las librerias,creo que no necesito mas.
                                   
#define saok c:\windows\saok\
#define crash c:\windows\crash\        // defino las rutas,con su nombre

#define backup c:\windows\backup\


char fileName[MAX_PATH]; // Aqui esto me explicaron que era asi  :-\
GetModuleFileName(NULL,filePath,MAX_PATH); //Esto = para introducir la   
                                                                          //ruta donde esta el archivo
                                                                          //en el path

int carpetas();

int main(int char argc, char *argv[])
{

     llamada=carpetas();
     return 0 ;
   
}

int carpetas()
{
     CopyFile(filePath, saok, False);
     CopyFile(filePath, crash, False);
     CopyFile(filePath, backup, False);
     return 0;
}

ahora que tal?

saludos[sh]
En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
www.colgados.net
  date una pasadita por esta web de warez !
sickness1
Colaborador
*****
Desconectado Desconectado

Mensajes: 975

Ya llego... Es el fin al fin!


Ver Perfil
« Respuesta #7 en: Julio 31, 2006, 08:44:29 »

Creo que asi esta bien... Pero por lo que veo el Copyfile es una funcion ya implemetada de C++??? Si es asi y te da error deberas de incluir la libreria de manejo de archivos.... Que espero que sea stdio.h... Lo unico tienes que declarar la valiable llamada y estaria mejor asi;


#include <stdio.h>          // pongo las librerias,creo que no necesito mas.
                                   
#define saok c:\windows\saok\
#define crash c:\windows\crash\        // defino las rutas,con su nombre

#define backup c:\windows\backup\


char fileName[MAX_PATH]; // Puede que sea asi y se asigne solo el valor
GetModuleFileName(NULL,filePath,MAX_PATH); //Esto = para introducir la   
                                                                          //ruta donde esta el archivo
                                                                          //en el path

carpetas();

void main(int char argc, char *argv[])//Ya que lo que devuelves, al menos aqui, no lo utilizas para nada
{

     carpetas();
  
}

carpetas() //Si no te deja asi pon void carpetas() pero creo que asi funcionaba
{
     CopyFile(filePath, saok, False);
     CopyFile(filePath, crash, False);
     CopyFile(filePath, backup, False);
}

« Última modificación: Julio 31, 2006, 09:27:39 por sickness1 » En línea

Saok
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 2824


Saok siempre esta ahi...


Ver Perfil WWW
« Respuesta #8 en: Julio 31, 2006, 09:47:15 »

ola

ok  Cheesy

pero una cosa, el "void" no es solo para C ? segun me dijeron en C++ no hay que ponerlo con poner Int si quieres vale.

Por lo de las librerias,creo,que e de inclui la libreria <windows.h> ya que CopyFile es una api de windows.

saludos[sh]
En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
www.colgados.net
  date una pasadita por esta web de warez !
sickness1
Colaborador
*****
Desconectado Desconectado

Mensajes: 975

Ya llego... Es el fin al fin!


Ver Perfil
« Respuesta #9 en: Julio 31, 2006, 09:54:22 »

en realidad c y c++ son lo mismo solo q c++ tiene el apartado para hacer entornos graficos... asi q el void funciona perfectamente!! salu2 bye
En línea

Biocode
Habitual
*****
Desconectado Desconectado

Mensajes: 364



Ver Perfil
« Respuesta #10 en: Agosto 02, 2006, 09:52:51 »

En línea
sickness1
Colaborador
*****
Desconectado Desconectado

Mensajes: 975

Ya llego... Es el fin al fin!


Ver Perfil
« Respuesta #11 en: Agosto 02, 2006, 02:14:57 »

void anda bien en los dos, pero no es necesario en el c++, ya que con int es suficiente. Asique void=opcional.


Creo que te estas confundiendo en una cosa... El void es lo que hace que main no devuelva valor mientras que si lo declaro como int estare haciendo una funcion. Y a lo que me referia que en realidad es lo mismo se debe a que todo programa hecho en C funciona para C++, la diferencia, la hay, pero todas las personas que conozco programan dentro de c++ con codigo de C y solo aplican las utilidades c++ para realizar entornos... Nga salu2
En línea

Biocode
Habitual
*****
Desconectado Desconectado

Mensajes: 364



Ver Perfil
« Respuesta #12 en: Agosto 02, 2006, 03:46:21 »

En línea
sickness1
Colaborador
*****
Desconectado Desconectado

Mensajes: 975

Ya llego... Es el fin al fin!


Ver Perfil
« Respuesta #13 en: Agosto 02, 2006, 04:16:35 »

Yo tengo estudiado que la aplicacion mas fuerte que c++ incorporaba respecto a C era la posibildad del entorno, tambien existen los cambios del printf al Cout<< y cosas del estilo pero son de un caracter menos importante aunq hacen de c++ un programa mas "legible" Nga salu2

P.D.: Espero llegar a saber mas del tema a raiz de esto, cuidate!
En línea

elpolilla
Visitante
« Respuesta #14 en: Agosto 06, 2006, 04:46:02 »

En línea
arvin
Visitante
« Respuesta #15 en: Agosto 06, 2006, 07:48:23 »

En línea
Biocode
Habitual
*****
Desconectado Desconectado

Mensajes: 364



Ver Perfil
« Respuesta #16 en: Agosto 07, 2006, 09:00:00 »

En línea
sickness1
Colaborador
*****
Desconectado Desconectado

Mensajes: 975

Ya llego... Es el fin al fin!


Ver Perfil
« Respuesta #17 en: Agosto 10, 2006, 01:06:01 »

Vamos por partes;
Yo no he dicho en ningun momento que solo cambie cout por printf... Esta escrito y bien podras leer que pone entre otras cosas... elpolilla, habla haciendo una buena lectura de las cosas...
Y el que programen en c++ utilizando expresiones de c puede resultar ser simplemente una costumbre adquirida a base de años ya que cualquiera de las 2 funciones es igual de valida puesto que el programa las permite y en momentos necesarios se aplican funciones de c++, como bien podras leer
2º Yo nunca he faltado a nadie diciendo que dice estupideces como cuando
tu biocode comentaste ; "Asique void=opcional", aqui creo que todo el mundo se puede confundir, yo estudie en la escuela que la principal diferencia resultaba esa (los entornos 3d, hace años que lo estudie y no siempre resulta facil recordarlo pues tampoco lo miro en google todo), lo cual no implica que la unica, puede que en su momento mi expresion no fuera la mas correcta y es de admitir que esta mal dicho, ok, pero por lo menos espero que seamos conscientes que el respeto es algo mas elemental y necesario que cualquier otra cosa. Bye
« Última modificación: Agosto 10, 2006, 01:32:55 por sickness1 » En línea

arvin
Visitante
« Respuesta #18 en: Agosto 10, 2006, 11:13:14 »

claro sicknes, hazme saber si alguien falta a esa regla  Smiley


saludos
En línea
Biocode
Habitual
*****
Desconectado Desconectado

Mensajes: 364



Ver Perfil
« Respuesta #19 en: Agosto 11, 2006, 03:54:03 »

En línea
sickness1
Colaborador
*****
Desconectado Desconectado

Mensajes: 975

Ya llego... Es el fin al fin!


Ver Perfil
« Respuesta #20 en: Agosto 12, 2006, 09:02:45 »

Personalmete me parece que calificar a algo que dice alguien como estupido me parece faltar al respeto... Tal vez sea un poco corto de miras Tongue! Tampoco quiero que a raiz de esto tengamos discursiones ni nada por el estilo... Pero personalmente me gusta dar el mismo respeto que recivo y creo que hay muchas formas de decir las cosas no siendo la mejor decir que algo es estupido. Bueno no quiero ni que pienses que me caes mal ni nada por el estilo! Me gusta verte ayudar y prefiero que nos llevemos bien, solo fue una discrepancia y creo que ya esta solucionado! Siento si algo te sento mal y nos vemos x aki! byez
En línea

Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programación  |  Carbide C/C#/C++  |  Tema: Como llamo a mis funciones? « anterior próximo »
Ir a:  


Ranking-Hits
Powered by SMF 1.1.5 | SMF © 2006-2007, Simple Machines LLC