>> DAVID J. Malan: Prenons les choses un peu plus loin, maintenant.
Supposons que je ne veux pas seulement pour imprimer tout mon programme de
arguments de ligne de commande.
Mais moi, à la place, je veux imprimer tous les caractères individuels dans chacun des
mes arguments de ligne de commande, un par ligne, de sorte que sur l'exécution de cette
programme, je ne vois tout simplement un flux de caractères sur l'écran qui
collectivement sont de ma séquence des arguments de ligne de commande.
>> Eh bien, comment puis-je faire cela?
Je peux garder intacte ma boucle d'avant laquelle je itératif de i jusqu'à
ARGC afin d'intégrer dans le arguments de ligne de commande eux-mêmes.
Mais maintenant, dans chaque itération de cette boucle, j'ai besoin de parcourir maintenant sur chaque
des caractères ou des caractères dans une chaîne spécifique.
Donc, pour ce faire, j'ai besoin d'un plus boucle.
>> Ajoutons que.
pour int, appelons-j, est égal à 0.
Maintenant, je vais avoir besoin d'intégrer vers le haut jusqu'à ce que la longueur de l'
chaîne actuelle dans ARGV.
Alors permettez-moi de me donner une autre locale variables, nous l'appellerons n, et mis
que égale à la longueur de chaîne de l' l'argument actuel, qui va être
trouvé dans le support ARGV i-virgule.
>> Permettez-moi maintenant itérer de j-vous jusqu'à ce que n suivi d'un
incrémenter à chaque itération.
Voyons maintenant imprimer la personne caractères sur l'écran.
Printf% c cette fois suivie d'une nouvelle ligne, citation à proximité, virgule, et maintenant je
besoin le caractère j-ième dans l'argument i-ème.
>> Donc, pour obtenir à cela, je ne peux tout simplement spécifier support ARV i à
obtenir l'argument i-ème.
Et puis je peux plonger dans un niveau plus profond et faire un index secondaire de
j support, parenthèse fermante, virgule, Enregistrer.
Et nous allons compiler maintenant et exécuter ce programme.
>> Faire ARGV2 -
pas tout à fait ce que je m'attendais.
Disons défiler jusqu'à la première de ces messages d'erreur.
Et en rouge ici, nous voyons erreur, déclarant implicitement fonction de bibliothèque
strlen avec le type -
oh, attendez une minute.
C'est la première fois que j'ai utilisé strlen, et je ne m'attendais pas
vouloir au début, donc je n'ai pas inclure le fichier d'en-tête qui déclare
une fonction de longueur de chaîne.
>> Alors au sommet de mon dossier, rappel, j'ai CS50.h.
J'ai io.h. norme
Mais il s'avère, et je sais que cela se la lecture de la documentation, que j'ai besoin
un troisième fichier d'en-tête si je, en effet, voulez utiliser la fonction strlen.
Cette fonction est déclarée dans string.h.
>> Disons réenregistrer le fichier, compiler et exécuter.
Et cette fois, nous n'avons pas seulement voir chacun des arguments.
Nous voyons la place de chacun des arguments un caractère à la fois.