>> DAVID J. Malan: Anem a prendre les coses un pas més, ara.
Suposem que jo no només vull imprimir tots els del meu programa de
arguments de la línia d'ordres.
Però jo, en canvi, vull imprimir tota la caràcters individuals en cadascun
els meus arguments de la línia d'ordres, un per línia, de manera que després de l'execució d'aquest
programa, simplement veig un corrent d' caràcters a la pantalla que
col · lectivament són del meu seqüència dels arguments de línia de comandes.
>> Bé, com puc fer això?
Puc mantenir intacta la meva bucle d'abans pel que em iteratiu des i fins
Argc tal d'integrar el mateixos arguments de la línia d'ordres.
Però ara, dins de cada iteració d'aquest llaç, necessito ara iterar sobre cada
dels personatges o caràcters en una cadena específica.
Així que per fer això, necessito un llaç més.
>> Anem a afegir això.
per int, diguem j, és igual a 0.
Ara hauré d'integrar fins a la longitud de la
cadena actual a argv.
Així que et vaig a donar a mi mateix una altra local, variables, l'anomenarem n, i establir
que igual a la longitud de la cadena del argument actual, que serà
que es troba en el suport argv i punt i coma.
>> Permetin-me ara iterar des j fins fins que n seguit d'un
incrementar en cada iteració.
Ara anem a imprimir l'individu caràcters a la pantalla.
Printf% c aquesta vegada seguit d'una nova línia, prop de cotització, coma, i ara
necessitarà el caràcter d'ordre j en l'argument-i.
>> Així que per arribar a això, pot simplement especificar ARV suport per a i
aconseguir l'argument-i.
I llavors puc bussejar en un nivell més profund i fer un índex secundari de
suport de j, parèntesi de tancament, punt i coma, a Desa.
I ara anem a compilar i executar aquest programa.
>> Fer ARGV2 -
no és exactament el que jo esperava.
Anem a desplaçar fins al primer d'aquests missatges d'error.
I en vermell aquí, veiem error, funció de biblioteca implícitament declarant
strlen amb el tipus -
oh, espera un minut.
Aquesta és la primera vegada que he fet servir strlen, i no vaig anticipar
voler en un primer moment, pel que no em vaig incloure l'arxiu de capçalera que declara
una funció de longitud de la cadena.
>> Així que a la part superior del meu arxiu, record, tinc CS50.h.
Tinc io.h. estàndard
Però resulta que, i jo sé que això la lectura de la documentació, que necessito
una tercera arxiu de capçalera si, en efecte, que voleu utilitzar la funció strlen.
Aquesta funció es declara en string.h.
>> Anem a tornar a guardar l'arxiu, compilar i executar.
I aquesta vegada, ho fem no només veure cada un dels arguments.
En el seu lloc veiem cadascun dels arguments un caràcter alhora.