1 00:00:00,000 --> 00:00:00,560 2 00:00:00,560 --> 00:00:02,460 >> DAVID J. MALAN: Vamos a tomar las cosas un paso más, ahora. 3 00:00:02,460 --> 00:00:05,450 Supongamos que yo no sólo quiero imprimir todos los de mi programa de 4 00:00:05,450 --> 00:00:06,630 argumentos de la línea de comandos. 5 00:00:06,630 --> 00:00:10,490 Pero yo, en cambio, quiero imprimir toda la caracteres individuales en cada uno de 6 00:00:10,490 --> 00:00:14,060 mis argumentos de la línea de comandos, uno por línea, de modo que tras la ejecución de este 7 00:00:14,060 --> 00:00:17,490 programa, simplemente veo una corriente de caracteres en la pantalla que 8 00:00:17,490 --> 00:00:20,700 colectivamente son de mi secuencia de los argumentos de línea de comandos. 9 00:00:20,700 --> 00:00:21,980 >> Bueno, ¿cómo puedo hacer esto? 10 00:00:21,980 --> 00:00:26,540 Puedo mantener intacta mi bucle de antes por el que me iterativo desde i hasta 11 00:00:26,540 --> 00:00:30,060 ARGC el fin de integrar el mismos argumentos de la línea de comandos. 12 00:00:30,060 --> 00:00:34,460 Pero ahora, dentro de cada iteración de ese lazo, necesito ahora iterar sobre cada 13 00:00:34,460 --> 00:00:38,550 de los personajes o caracteres en una cadena específica. 14 00:00:38,550 --> 00:00:40,620 Así que para hacer eso, necesito un lazo más. 15 00:00:40,620 --> 00:00:42,090 >> Vamos a añadir eso. 16 00:00:42,090 --> 00:00:46,890 para int, llamémosle j, es igual a 0. 17 00:00:46,890 --> 00:00:49,980 Ahora voy a tener que integrar hasta la longitud de la 18 00:00:49,980 --> 00:00:52,310 cadena actual en ARGV. 19 00:00:52,310 --> 00:00:55,910 Así que te voy a dar a mí mismo otra local, variables, lo llamaremos n, y establecer 20 00:00:55,910 --> 00:01:00,120 que igual a la longitud de la cadena del argumento actual, que va a ser 21 00:01:00,120 --> 00:01:04,230 que se encuentra en el soporte ARGV i punto y coma. 22 00:01:04,230 --> 00:01:08,500 >> Permítanme ahora iterar desde j hasta hasta que n seguido de un 23 00:01:08,500 --> 00:01:10,400 incrementar en cada iteración. 24 00:01:10,400 --> 00:01:13,850 Ahora vamos a imprimir el individuo caracteres en la pantalla. 25 00:01:13,850 --> 00:01:21,920 Printf% c esta vez seguido de una nueva línea, cerca de cotización, coma, y ​​ahora 26 00:01:21,920 --> 00:01:25,565 necesitará el carácter de orden j en el argumento-i. 27 00:01:25,565 --> 00:01:30,240 >> Así que para llegar a eso, puede simplemente especificar ARV soporte para i 28 00:01:30,240 --> 00:01:32,050 conseguir el argumento-i. 29 00:01:32,050 --> 00:01:36,140 Y entonces puedo bucear en un nivel más profundo y hacer un índice secundario de 30 00:01:36,140 --> 00:01:40,420 soporte de j, paréntesis de cierre, punto y coma, en Guardar. 31 00:01:40,420 --> 00:01:43,610 Y ahora vamos a compilar y ejecutar este programa. 32 00:01:43,610 --> 00:01:46,630 >> Hacer ARGV2 - 33 00:01:46,630 --> 00:01:48,440 no es exactamente lo que yo esperaba. 34 00:01:48,440 --> 00:01:50,740 Vamos a desplazarse hasta el primer de estos mensajes de error. 35 00:01:50,740 --> 00:01:54,540 Y en rojo aquí, vemos error, función de biblioteca implícitamente declarando 36 00:01:54,540 --> 00:01:56,290 strlen con el tipo - 37 00:01:56,290 --> 00:01:57,380 oh, espera un minuto. 38 00:01:57,380 --> 00:02:00,340 Esta es la primera vez que he usado strlen, y no anticipé 39 00:02:00,340 --> 00:02:04,970 quererlo en un primer momento, por lo que no me di incluir el archivo de cabecera que declara 40 00:02:04,970 --> 00:02:06,290 una función de longitud de la cadena. 41 00:02:06,290 --> 00:02:09,419 >> Así que en la parte superior de mi archivo, recuerdo, tengo CS50.h. 42 00:02:09,419 --> 00:02:11,080 Tengo io.h. estándar 43 00:02:11,080 --> 00:02:14,500 Pero resulta que, y yo sé que esto la lectura de la documentación, que necesito 44 00:02:14,500 --> 00:02:18,320 un tercer archivo de cabecera si, en efecto, que desee utilizar la función strlen. 45 00:02:18,320 --> 00:02:22,760 Esa función se declara en string.h. 46 00:02:22,760 --> 00:02:25,230 >> Vamos a volver a guardar el archivo, compilar y ejecutar. 47 00:02:25,230 --> 00:02:32,360 48 00:02:32,360 --> 00:02:35,570 Y esta vez, lo hacemos no sólo ver cada uno de los argumentos. 49 00:02:35,570 --> 00:02:40,470 En su lugar vemos cada uno de los argumentos un carácter a la vez. 50 00:02:40,470 --> 00:02:43,165