1 00:00:00,000 --> 00:00:00,560 2 00:00:00,560 --> 00:00:02,460 >> DAVID J. Malan: Anem a prendre les coses un pas més, ara. 3 00:00:02,460 --> 00:00:05,450 Suposem que jo no només vull imprimir tots els del meu programa de 4 00:00:05,450 --> 00:00:06,630 arguments de la línia d'ordres. 5 00:00:06,630 --> 00:00:10,490 Però jo, en canvi, vull imprimir tota la caràcters individuals en cadascun 6 00:00:10,490 --> 00:00:14,060 els meus arguments de la línia d'ordres, un per línia, de manera que després de l'execució d'aquest 7 00:00:14,060 --> 00:00:17,490 programa, simplement veig un corrent d' caràcters a la pantalla que 8 00:00:17,490 --> 00:00:20,700 col · lectivament són del meu seqüència dels arguments de línia de comandes. 9 00:00:20,700 --> 00:00:21,980 >> Bé, com puc fer això? 10 00:00:21,980 --> 00:00:26,540 Puc mantenir intacta la meva bucle d'abans pel que em iteratiu des i fins 11 00:00:26,540 --> 00:00:30,060 Argc tal d'integrar el mateixos arguments de la línia d'ordres. 12 00:00:30,060 --> 00:00:34,460 Però ara, dins de cada iteració d'aquest llaç, necessito ara iterar sobre cada 13 00:00:34,460 --> 00:00:38,550 dels personatges o caràcters en una cadena específica. 14 00:00:38,550 --> 00:00:40,620 Així que per fer això, necessito un llaç més. 15 00:00:40,620 --> 00:00:42,090 >> Anem a afegir això. 16 00:00:42,090 --> 00:00:46,890 per int, diguem j, és igual a 0. 17 00:00:46,890 --> 00:00:49,980 Ara hauré d'integrar fins a la longitud de la 18 00:00:49,980 --> 00:00:52,310 cadena actual a argv. 19 00:00:52,310 --> 00:00:55,910 Així que et vaig a donar a mi mateix una altra local, variables, l'anomenarem n, i establir 20 00:00:55,910 --> 00:01:00,120 que igual a la longitud de la cadena del argument actual, que serà 21 00:01:00,120 --> 00:01:04,230 que es troba en el suport argv i punt i coma. 22 00:01:04,230 --> 00:01:08,500 >> Permetin-me ara iterar des j fins fins que n seguit d'un 23 00:01:08,500 --> 00:01:10,400 incrementar en cada iteració. 24 00:01:10,400 --> 00:01:13,850 Ara anem a imprimir l'individu caràcters a la pantalla. 25 00:01:13,850 --> 00:01:21,920 Printf% c aquesta vegada seguit d'una nova línia, prop de cotització, coma, i ara 26 00:01:21,920 --> 00:01:25,565 necessitarà el caràcter d'ordre j en l'argument-i. 27 00:01:25,565 --> 00:01:30,240 >> Així que per arribar a això, pot simplement especificar ARV suport per a i 28 00:01:30,240 --> 00:01:32,050 aconseguir l'argument-i. 29 00:01:32,050 --> 00:01:36,140 I llavors puc bussejar en un nivell més profund i fer un índex secundari de 30 00:01:36,140 --> 00:01:40,420 suport de j, parèntesi de tancament, punt i coma, a Desa. 31 00:01:40,420 --> 00:01:43,610 I ara anem a compilar i executar aquest programa. 32 00:01:43,610 --> 00:01:46,630 >> Fer ARGV2 - 33 00:01:46,630 --> 00:01:48,440 no és exactament el que jo esperava. 34 00:01:48,440 --> 00:01:50,740 Anem a desplaçar fins al primer d'aquests missatges d'error. 35 00:01:50,740 --> 00:01:54,540 I en vermell aquí, veiem error, funció de biblioteca implícitament declarant 36 00:01:54,540 --> 00:01:56,290 strlen amb el tipus - 37 00:01:56,290 --> 00:01:57,380 oh, espera un minut. 38 00:01:57,380 --> 00:02:00,340 Aquesta és la primera vegada que he fet servir strlen, i no vaig anticipar 39 00:02:00,340 --> 00:02:04,970 voler en un primer moment, pel que no em vaig incloure l'arxiu de capçalera que declara 40 00:02:04,970 --> 00:02:06,290 una funció de longitud de la cadena. 41 00:02:06,290 --> 00:02:09,419 >> Així que a la part superior del meu arxiu, record, tinc CS50.h. 42 00:02:09,419 --> 00:02:11,080 Tinc io.h. estàndard 43 00:02:11,080 --> 00:02:14,500 Però resulta que, i jo sé que això la lectura de la documentació, que necessito 44 00:02:14,500 --> 00:02:18,320 una tercera arxiu de capçalera si, en efecte, que voleu utilitzar la funció strlen. 45 00:02:18,320 --> 00:02:22,760 Aquesta funció es declara en string.h. 46 00:02:22,760 --> 00:02:25,230 >> Anem a tornar a guardar l'arxiu, compilar i executar. 47 00:02:25,230 --> 00:02:32,360 48 00:02:32,360 --> 00:02:35,570 I aquesta vegada, ho fem no només veure cada un dels arguments. 49 00:02:35,570 --> 00:02:40,470 En el seu lloc veiem cadascun dels arguments un caràcter alhora. 50 00:02:40,470 --> 00:02:43,165