1 00:00:00,000 --> 00:00:00,560 2 00:00:00,560 --> 00:00:02,460 >> DAVID J. Malan: Paņemsim lietas vienu soli tālāk, tagad. 3 00:00:02,460 --> 00:00:05,450 Pieņemsim, ka es ne tikai gribu drukāt visas mana programma ir 4 00:00:05,450 --> 00:00:06,630 komandrindas argumentus. 5 00:00:06,630 --> 00:00:10,490 Bet es, tā vietā, vēlas, lai drukātu visus individuāli simboli katrā 6 00:00:10,490 --> 00:00:14,060 mans komandrindas argumentus, pa vienam no katras line, tā, ka pēc darbojas šis 7 00:00:14,060 --> 00:00:17,490 programmu, es vienkārši redzu plūsmu Rakstu zīmes uz ekrāna, ka 8 00:00:17,490 --> 00:00:20,700 kolektīvi ir no manas kārtas komandrindas argumentus. 9 00:00:20,700 --> 00:00:21,980 >> Nu, kā es varu darīt? 10 00:00:21,980 --> 00:00:26,540 Es varu nemainīt manu cilpa no līdz kuru es iteratīvs no i līdz 11 00:00:26,540 --> 00:00:30,060 Argc lai integrētu vairāk paši komandrindas argumentus. 12 00:00:30,060 --> 00:00:34,460 Bet tagad, katrā atkārtojuma ka cilpa, man ir nepieciešams tagad atkārtot pār otru 13 00:00:34,460 --> 00:00:38,550 rakstzīmes un simboli īpašā virkni. 14 00:00:38,550 --> 00:00:40,620 Tātad, lai to izdarītu, man vajag vēl vienu cilpu. 15 00:00:40,620 --> 00:00:42,090 >> Pieņemsim piebilst. 16 00:00:42,090 --> 00:00:46,890 uz int, sauksim to j, ir vienāds ar 0. 17 00:00:46,890 --> 00:00:49,980 Tagad es esmu dodas uz nepieciešamību integrēt līdz garumu 18 00:00:49,980 --> 00:00:52,310 strāva virknes ARGV. 19 00:00:52,310 --> 00:00:55,910 Tāpēc ļaujiet man sniegt sev vēl vienu vietējo mainīgais, mēs to saucam par n, un noteikt 20 00:00:55,910 --> 00:01:00,120 , kas vienāds ar virknes garumu current arguments, kas būs 21 00:01:00,120 --> 00:01:04,230 atrodami ARGV grupā i semikolu. 22 00:01:04,230 --> 00:01:08,500 >> Ļaujiet man tagad atkārtot no j augšu līdz n seko 23 00:01:08,500 --> 00:01:10,400 pieauguma par katru atkārtojuma. 24 00:01:10,400 --> 00:01:13,850 Pieņemsim tagad izdrukāt indivīdam Rakstu zīmes uz ekrāna. 25 00:01:13,850 --> 00:01:21,920 Printf% c šoreiz pēc jauna līnija, netālu citēju, komats, un tagad es 26 00:01:21,920 --> 00:01:25,565 vajag J-th raksturu i-th arguments. 27 00:01:25,565 --> 00:01:30,240 >> Tātad, lai iegūtu par to, ka es varētu vienkārši norādīt ARV kronšteinu I 28 00:01:30,240 --> 00:01:32,050 get i-argumentu. 29 00:01:32,050 --> 00:01:36,140 Un tad es varu nirt vienā līmenī dziļāk un darīt sekundāro indeksu 30 00:01:36,140 --> 00:01:40,420 kronšteins j, tuvu iekavas, semikols, Save. 31 00:01:40,420 --> 00:01:43,610 Un pieņemsim tagad apkopo un palaist šo programmu. 32 00:01:43,610 --> 00:01:46,630 >> Padarīt ARGV2 - 33 00:01:46,630 --> 00:01:48,440 nav gluži tas, ko es biju gaidījis. 34 00:01:48,440 --> 00:01:50,740 Pieņemsim ritināt līdz pirmā Šo kļūdu ziņojumi. 35 00:01:50,740 --> 00:01:54,540 Un sarkanā šeit, mēs redzam kļūdas, netieši paziņojot bibliotēkas funkciju 36 00:01:54,540 --> 00:01:56,290 strlen ar tipu - 37 00:01:56,290 --> 00:01:57,380 Ak, pagaidiet minūti. 38 00:01:57,380 --> 00:02:00,340 Šī ir pirmā reize, kad es esmu, ko izmanto strlen, un man nebija prognozēt 39 00:02:00,340 --> 00:02:04,970 vēlas to, pirmkārt, tāpēc man nebija iekļauts header failu, kas apliecina, 40 00:02:04,970 --> 00:02:06,290 virknes garums funkcija. 41 00:02:06,290 --> 00:02:09,419 >> Tā augšpusē manu failu, atgādināt, man ir CS50.h. 42 00:02:09,419 --> 00:02:11,080 Man ir standarta io.h. 43 00:02:11,080 --> 00:02:14,500 Bet izrādās, un es zinu, tas no lasot dokumentus, ka man ir nepieciešams 44 00:02:14,500 --> 00:02:18,320 trešā header failu, ja es, protams, vēlaties izmantot strlen funkciju. 45 00:02:18,320 --> 00:02:22,760 Ka funkcija ir deklarēti string.h. 46 00:02:22,760 --> 00:02:25,230 >> Pieņemsim atkārtoti saglabāt failu, apkopot un palaist. 47 00:02:25,230 --> 00:02:32,360 48 00:02:32,360 --> 00:02:35,570 Un šoreiz, mēs ne tikai sk katru no argumentus. 49 00:02:35,570 --> 00:02:40,470 Mēs nevis redzēt katru no argumentus viena rakstzīmju laikā. 50 00:02:40,470 --> 00:02:43,165