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

  FORUM HardWare.fr
  Programmation

  [ C / Unix ] Séparation commande arguments dans une chaîne.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ C / Unix ] Séparation commande arguments dans une chaîne.

n°83640
nikewlas
Posté le 21-12-2001 à 13:25:22  profilanswer
 

Bonjour,  
j' aimerais savoir comment obtenir à partir d' une chaîne du genre "commande arguments",2 chaînes "commande" et "arguments". Je m' explique:
le programme reçoit la chaine  
"toto -arg1 -arg2 -arg3"
et je veut qu' il m' affiche
 
commande: toto
arguments: -arg1 -arg2 -arg3
 
où  "toto" et "-arg1 -arg2 -arg3" sont stockés dans 2 chaînes différentes.
Merci.

mood
Publicité
Posté le 21-12-2001 à 13:25:22  profilanswer
 

n°83645
mogi
Posté le 21-12-2001 à 13:29:49  profilanswer
 

int main(int argc, char **argv)
{
  int i;
  char mes_args[MAX]="";
 
  for ( i=1 ; i<argc ; i++ )
    {
      strcat(mes_args, " " );
      strcat(mes_args, argv[i]);
    }
 
  printf("commande : %s\n", argv[0]);
  printf("mes arguments : %s\n", mes_args);
 
  return 0;
}
 
Juste bidouiller pour éviter d'avoir l'espace en début de mes_args, mais je te laisse faire...
 
Mogi.

n°83735
weblook$
happy face
Posté le 21-12-2001 à 17:36:57  profilanswer
 

un petit complément au code de mogi histoire de faire ça en dynamique ça fait plus propre:
 
char *mes_args;
int taille=0;
int i=1;
 
while(argv[i]!=NULL)
 taille+=strlen(argv[i]);
 
 
mes_args=new char[taille+1]; //0 de fin de chaine
 
A faire évidemment avant la boucle for de mogi

n°83744
nikewlas
Posté le 21-12-2001 à 18:16:15  profilanswer
 

elle se trouve dans quel fichier header la fonction new ???

n°83745
R3g
fonctionnaire certifié ITIL
Posté le 21-12-2001 à 18:37:43  profilanswer
 

new c'est du C++, en C ca donne :
mes_args = (char *) malloc ((taille+1) * sizeof(char));


---------------
Au royaume des sourds, les borgnes sont sourds.

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

  [ C / Unix ] Séparation commande arguments dans une chaîne.

 

Sujets relatifs
[WINDEV] URGENT !! Comment utiliser le symbole " dans une chaine svp ?Quelqu'un connait-il le SGBD Mapper (sous Unix) ?
[c++] comment gérer des tableaux de chaineProbleme prog en ligne de commande C++ / Telnet
Extraire les mails d'une mbox sous unixCommande DoCmd.requery sous ACCESS
[UNIX] .. Ecrire en couleur sur le shell?[BATCH ] Alternative à la commande Choice pour NT
[ORACLE FORMS] Qui connait la commande "Host" ???[gawk] remplacer une chaine de caracteres ds un fichier texte
Plus de sujets relatifs à : [ C / Unix ] Séparation commande arguments dans une chaîne.


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