Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1050 connectés 

  FORUM HardWare.fr
  Programmation
  C

  int main (int argc, char** argv)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

int main (int argc, char** argv)

n°706167
vincentx
Posté le 22-04-2004 à 16:49:36  profilanswer
 

Je programme sous Embedded Visual C++ en C.
Mon code est compilé et linker sans erreur vers l'emulateur de WinCE.
j'utilise la declaration du titre du post.
Pourquoi quand j'execute mon code, il ne prend pas en compte les paramètres qui suivent la declaration ?  
Sur l'invite de commande de l'émulateur, je tape  
nomdemoncode xx xx  
et il fait comme si je lui passait aucun paramètre !

mood
Publicité
Posté le 22-04-2004 à 16:49:36  profilanswer
 

n°706173
skeye
Posté le 22-04-2004 à 16:50:48  profilanswer
 

vincentx a écrit :

Je programme sous Embedded Visual C++ en C.
Mon code est compilé et linker sans erreur vers l'emulateur de WinCE.
j'utilise la declaration du titre du post.
Pourquoi quand j'execute mon code, il ne prend pas en compte les paramètres qui suivent la declaration ?  
Sur l'invite de commande de l'émulateur, je tape  
nomdemoncode xx xx  
et il fait comme si je lui passait aucun paramètre !


Sans ton code on va avoir du mal à répondre...

n°706178
vincentx
Posté le 22-04-2004 à 16:52:57  profilanswer
 

Le voila  
 

Code :
  1. int main(int argc, char** argv)
  2.     int retcode;
  3.     WSADATA wsaData;
  4.     char** arg;
  5.     if (argc<2)
  6.     goto usage;
  7.    
  8.    
  9.     /* Initialisation */
  10.    if (WSAStartup(MAKEWORD(1,1), &wsaData))
  11.    {
  12.         fprintf(stderr,"%s: You must use Winsock 1.1 or compatible\n",PING_NAME);
  13.         goto error;
  14.     }
  15.     hIcmp = IcmpCreateFile();
  16.  
  17. QueryPerformanceFrequency(&ticks_freq);
  18.     icmp_reply=(struct icmp_echo_reply*)reply_buffer;  // structure définit dans ipexport.h
  19.     retcode=0;
  20.     arg=argv+1;
  21.   while (*arg!=NULL) {
  22.        if ((*arg)[0]=='-') {
  23.             /* Change some option value */
  24.           switch ((*arg)[1]) {
  25.             case 'c':
  26.              
  27.                 arg++;
  28.                 if (sscanf(*arg,"%d",&opt_c)!=1)
  29.                     goto usage;
  30.                 if (opt_c<0)
  31.                     opt_c=DEFAULT_OPT_C_VALUE;
  32.                 options|=F_COUNT;
  33.                 break;
  34.        
  35.             case 'i':
  36.                 /* Sets the interval between two echo requests. */
  37.                 arg++;
  38.                 if (sscanf(*arg,"%d",&opt_i)!=1)
  39.                     goto usage;
  40.                 if (opt_i<0)
  41.                     opt_i=DEFAULT_OPT_I_VALUE;
  42.                 options|=F_INTERVAL;
  43.                 break;
  44.          
  45.             case 'm':
  46.                 /* Sets the TTL to use.
  47.                  */
  48.                 arg++;
  49.               if (sscanf(*arg,"%d",&opt_m)!=1)
  50.                     goto usage;
  51.                 if (opt_m<0)
  52.                     opt_m=DEFAULT_OPT_M_VALUE;
  53.                 options|=F_MAXTTL;
  54.                 break;
  55.            
  56.            
  57.             case 'q':
  58.                 /* Quiet option: only display a summary at the end.
  59.                  * Only valid in ping mode.
  60.                  */
  61.                options|=F_QUIET;
  62.                 break;
  63.          
  64.             case 's':
  65.                 /*
  66.                  * Set the packet size.
  67.                  */
  68.                 arg++;
  69.                 if (sscanf(*arg,"%d",&opt_s)!=1)
  70.                     goto usage;
  71.                 if (opt_s<0)
  72.                     opt_s=DEFAULT_OPT_S_VALUE;
  73.                 options|=F_DATASIZE;
  74.          
  75.                 break;
  76.          
  77.          
  78.             case 'w':
  79.                 /*
  80.                  * Sets the time to wait for a response to an Echo Request
  81.                  */
  82.                 arg++;
  83.                 if (sscanf(*arg,"%d",&opt_w)!=1)
  84.                     goto usage;
  85.                 if (opt_w<0)
  86.                     opt_w=DEFAULT_OPT_W_VALUE;
  87.                 options|=F_TIMEOUT;
  88.                 break;
  89.             case 'z':
  90.                 /*
  91.                  * Fills the ICMP packets with random data
  92.                  */
  93.                 options=(options & ~F_PATTERN) | F_RANDOMFILL;
  94.                 break;
  95.             }
  96.         } else {
  97.             unsigned int host_addr;
  98.             /* Get the target host address */
  99.             host_addr=HostString2Addr(*arg); // host_addr= adr. IP convertit
  100.             if (host_addr==INADDR_NONE)   // erreur
  101.                 retcode=1;       
  102.             else               
  103.                doPing(host_addr,*arg);
  104.  }
  105.         arg++;
  106.  }
  107.     /* Do some cleanup */
  108.     IcmpCloseHandle( hIcmp );   // close an handle open by a call to IcmpCreateFile
  109. WSACleanup();
  110.     free(icmp_data);
  111.    
  112. end:
  113.     return retcode;
  114. error:
  115.     retcode=1;
  116.     goto end;
  117. usage:
  118.     fprintf(stderr,"Usage: ping [-mnqw] [-c count] [-i wait] [-p pattern | -z] [-s packetsize]\n" );
  119.     fprintf(stderr,"            host [host...]\n" );
  120.     fprintf(stderr,"   or  ping -t [-mnqw] [-i wait] [-p pattern | -z] [-s packetsize]\n" );
  121.     fprintf(stderr,"            host [host...]\n" );
  122.     fprintf(stderr,"       The following options are recognised for compatibility with the \n" );
  123.     fprintf(stderr,"       Unix ping but are not implemented: [-dfrRv] [-l preload]\n" );
  124.     retcode=2;
  125.     goto end;
  126. }


Message édité par vincentx le 22-04-2004 à 17:27:47
n°706191
kadreg
profil: Utilisateur
Posté le 22-04-2004 à 16:58:20  profilanswer
 

[:daplopbot]


Message édité par kadreg le 22-04-2004 à 16:58:27

---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°706196
vincentx
Posté le 22-04-2004 à 17:00:57  profilanswer
 

cad ?

n°706200
antp
Super Administrateur
Champion des excuses bidons
Posté le 22-04-2004 à 17:02:59  profilanswer
 

vincentx a écrit :


j'utilise la declaration du titre du post.


 
Faudrait que tu révises le concept de "sujet", le code on le colle par là normalement. Le sujet c'est de quoi parle ton message :o


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°706206
fli
Posté le 22-04-2004 à 17:05:55  profilanswer
 

le "int main(int argc, char** argv)" me parait un peu étrange : Les applications consoles sont très rares en CE et de plus le charset natif de CE est l'unicode.
 
Le point d'entrée standard pour un programme Windows CE est:

Code :
  1. int WINAPI WinMain( HINSTANCE hInstance,
  2.     HINSTANCE hPrevInstance,
  3.     LPTSTR    lpCmdLine,
  4.     int       nCmdShow)

n°706208
vincentx
Posté le 22-04-2004 à 17:06:50  profilanswer
 

Désolé mais si pouviez me venir en aide néanmoins, ce serait très courtoit de votre part.

n°706218
drasche
Posté le 22-04-2004 à 17:11:29  profilanswer
 

je prie pour que Taz ne passe pas ici, ça devrait t'aider déjà pas mal.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°706235
vincentx
Posté le 22-04-2004 à 17:18:46  profilanswer
 

Je n'avais pas vu la balise pour inserer le code et je ne comprends pas trop comment ca marche...
excuser moi.

mood
Publicité
Posté le 22-04-2004 à 17:18:46  profilanswer
 

n°706240
drasche
Posté le 22-04-2004 à 17:21:38  profilanswer
 

édite mon message:
 

Code :
  1. mon code


 
voilà, tu peux éditer le tien maintenant.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°706241
skeye
Posté le 22-04-2004 à 17:22:00  profilanswer
 

vincentx a écrit :

Je n'avais pas vu la balise pour inserer le code et je ne comprends pas trop comment ca marche...
excuser moi.


tu sélectionnes ton code et tu clickes dessus.
Tu peux encore le faire en éditant ton message...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  int main (int argc, char** argv)

 

Sujets relatifs
Expressions régulieres: Besoin d'un coup de mainEclipse et Export Jar : Failed to load Main-Class ....
Personne n'aurait un petit "Fileviewer" sous la main ?Directshow, graphes de filtres connectés "à la main" ...
Accéder au élements de argv[][VBS] Besoin d un petit coup de main
Exception in thread "main" org.omg.CORBA.COMM_FAILUREtemplate, main, visual C++
Mon prog ne rend plus la main[vba autocad] fenetre ancrable et laisser la main a l'utilisateur
Plus de sujets relatifs à : int main (int argc, char** argv)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR