>> DAVID J. MALAN: Prendiamo le cose un passo avanti, ora.
Supponiamo che io non voglio solo per stampare tutto il mio programma di
argomenti della riga di comando.
Ma io, invece, voglio stampare tutte le singoli caratteri in ciascuno dei
i miei argomenti della riga di comando, uno per linea, in modo che al momento di eseguire questo
programma, ho semplicemente vedo un flusso di caratteri sullo schermo che
collettivamente sono dalla mia sequenza di argomenti della riga di comando.
>> Beh, come posso fare questo?
Posso mantenere intatto il mio ciclo da prima per cui ho iterativo da i fino
ARGC per integrare il argomenti della riga di comando stessi.
Ma ora, all'interno di ogni iterazione di tale loop, ho bisogno di iterare ora su ogni
dei personaggi o caratteri in una stringa specifica.
Quindi, per fare questo, ho bisogno di un altro ciclo.
>> Aggiungiamo che.
per int, chiamiamolo j, è uguale a 0.
Ora sto andando ad avere bisogno di integrare Fino alla lunghezza del
stringa corrente in ARGV.
Quindi lasciatemi mi dò un altro locale variabile, che chiameremo n, e impostiamo
che uguale alla lunghezza della stringa del argomento attuale, che sta per essere
trovato in staffa ARGV i punto e virgola.
>> Permettetemi ora di iterare da j up fino n seguito da un
incrementa ad ogni iterazione.
Passiamo ora stampare l'individuo caratteri sullo schermo.
Printf% c questa volta seguito da un nuovo linea, chiudere citazione, virgola, e ora mi
necessario il carattere j-esimo nell'argomento i-esimo.
>> Quindi, per arrivare a questo, posso semplicemente specificare staffa ARV per i
ottenere l'argomento-esimo.
E poi posso tuffarsi in un livello più profondo e fare un indice secondario di
Staffa j, parentesi chiusa, punto e virgola, Salva.
E andiamo ora compilare e eseguire questo programma.
>> Fai ARGV2 -
Non è proprio quello che mi aspettavo.
Facciamo scorrere fino alla prima di questi messaggi di errore.
E qui in rosso, vediamo errore, implicitamente dichiara funzione di libreria
strlen con il tipo -
oh, aspetta un attimo.
Questa è la prima volta che ho usato strlen, e non mi aspettavo
volendo in un primo momento, quindi non ho includere il file di intestazione che dichiara
una funzione lunghezza della stringa.
>> Così, nella parte superiore del mio file, richiamo, ho CS50.h.
Ho io.h. di serie
Ma si scopre, e so che questo da lettura della documentazione, che ho bisogno
un terzo file di intestazione se io, davvero, desidera utilizzare la funzione strlen.
Tale funzione è dichiarata in string.h.
>> Facciamo salvare il file nuovamente, compilare ed eseguire.
E questa volta, lo facciamo non solo vedi tutti gli argomenti.
Noi invece vediamo gli argomenti un carattere alla volta.