Hein? mon prog a enlevé une lettre de argv[] [NOVICE] - C - Programmation
Marsh Posté le 08-05-2011 à 18:18:54
Citation : void test(char argv[1] |
Tu passes en premier argument un tableau de 1 caractère
puis
printf("\n%s", &argv[1]
tu demandes d'imprimer à partir du 2e caractère de ce tableau
Un langage moins permissif que le C gueulerait que tu dépasses les bornes du tableau.
C ne dit rien, et commence au 2e caractere d'ou le E initial du second printf
Tu voulais sans doute faire
void test(char *arg)
et
printf("\n%s", &arg[0]);
ce qui s'écrit plus simplement comme
printf("\n%s", arg);
A+,
Marsh Posté le 08-05-2011 à 18:28:45
Effectivement, tu as raison.
Ainsi, si j'effectue ta démarche je ne ferais pas de débordement?
Et donc qu'elles sont les différence entre argv[] et arg[]?
Marsh Posté le 08-05-2011 à 18:36:42
désolé pour le flood mais je retire ce que j'ai dit précédemment.
J'ai parfaitement compris mon erreur à présent merci.
Marsh Posté le 08-05-2011 à 17:57:37
Bonjour,
Alors mon problème se pose au niveau du &argv[] (à la ligne 11 après le comentaire).
il me manque une lettre
bon, comme je ne suis pas facile à comprendre quand j'explique mon cas, je mets mon
code et une image pour le résultat.
En le lisant, vous aurez compris que je veux utiliser argv et argc dans une autre fonction autre que main
ainsi qu'ouvrir un fichier de texte.
et voilà ce que j'obtiens:
En espérant de vous avoir fait comprendre mon cas.
Message édité par cill le 08-05-2011 à 18:01:51