1 00:00:00,000 --> 00:00:00,560 2 00:00:00,560 --> 00:00:02,460 >> დევიდ ჯ Malan: ავიღოთ რამ ერთი ნაბიჯი შემდგომი, ახლა. 3 00:00:02,460 --> 00:00:05,450 დავუშვათ, რომ მე არ უბრალოდ მინდა ბეჭდვა ყველა ჩემი პროგრამა 4 00:00:05,450 --> 00:00:06,630 ბრძანების არგუმენტები. 5 00:00:06,630 --> 00:00:10,490 მაგრამ მე, ნაცვლად, მინდა ბეჭდვა ყველა ინდივიდუალური გმირები თითოეულ 6 00:00:10,490 --> 00:00:14,060 ჩემი ბრძანების არგუმენტები, ერთ ხაზი, ისე, რომ მასზე გაშვებული ამ 7 00:00:14,060 --> 00:00:17,490 პროგრამა, მე უბრალოდ ვხედავ ნაკადი გმირები ეკრანზე, რომ 8 00:00:17,490 --> 00:00:20,700 ერთობლივად არიან ჩემი მიმდევრობა ბრძანების ხაზი არგუმენტები. 9 00:00:20,700 --> 00:00:21,980 >> ისევე, როგორ შეიძლება ამის გაკეთება? 10 00:00:21,980 --> 00:00:26,540 შემიძლია შენარჩუნება ხელუხლებელი ჩემი loop წინაშე რომლის დროსაც მე განმეორებითი ეხლა i წლამდე 11 00:00:26,540 --> 00:00:30,060 Argc რათა ინტეგრირება მეტი ბრძანების ხაზი არგუმენტები თავს. 12 00:00:30,060 --> 00:00:34,460 მაგრამ ახლა, თითოეულ iteration რომ loop, მე უნდა ახლა iterate მეტი თითოეული 13 00:00:34,460 --> 00:00:38,550 სიმბოლო ან სიმბოლო კონკრეტული სიმებიანი. 14 00:00:38,550 --> 00:00:40,620 ასე რომ გავაკეთოთ, მჭირდება კიდევ ერთი მარყუჟი. 15 00:00:40,620 --> 00:00:42,090 >> მოდით დაამატოთ, რომ. 16 00:00:42,090 --> 00:00:46,890 განთავსების int, მოდით ეძახით j, უდრის 0. 17 00:00:46,890 --> 00:00:49,980 ახლა მე ვაპირებ უნდა ინტეგრირება წლამდე ხანგრძლივობა 18 00:00:49,980 --> 00:00:52,310 მიმდინარე სიმებიანი argv. 19 00:00:52,310 --> 00:00:55,910 ნება მომეცით მისცეს თავს კიდევ ერთი ადგილობრივი ცვლადი, ჩვენ მოვუწოდებთ მას n, და მითითებული 20 00:00:55,910 --> 00:01:00,120 რომ თანაბარი string სიგრძე მიმდინარე არგუმენტი, რომელიც იქნება 21 00:01:00,120 --> 00:01:04,230 ნაპოვნი Argv bracket i მძიმით. 22 00:01:04,230 --> 00:01:08,500 >> ნება მიბოძეთ ახლა iterate საწყისი j up სანამ n მოჰყვა 23 00:01:08,500 --> 00:01:10,400 ნამატი ყოველ iteration. 24 00:01:10,400 --> 00:01:13,850 მოდით ახლა ბეჭდვა ინდივიდუალური გმირები ეკრანზე. 25 00:01:13,850 --> 00:01:21,920 Printf% c ამ დროს მოჰყვა new ხაზი, ახლო გაცემა, მძიმით, და ახლა მე 26 00:01:21,920 --> 00:01:25,565 უნდა j-th ხასიათი იმ i-th არგუმენტი. 27 00:01:25,565 --> 00:01:30,240 >> ასე რომ, კიდევ ერთი, რომ მე არ შემიძლია უბრალოდ მიუთითოთ ARV bracket i to 28 00:01:30,240 --> 00:01:32,050 მიიღეთ i-th არგუმენტი. 29 00:01:32,050 --> 00:01:36,140 და მერე შეიძლება ჩაყვინთვის ერთ დონეზე ღრმა და ნუ საშუალო მაჩვენებელი 30 00:01:36,140 --> 00:01:40,420 bracket j ახლოს, ფრჩხილებში, მძიმით, შენახვა. 31 00:01:40,420 --> 00:01:43,610 და მოდით ახლა კომპილირდება და აწარმოებს ამ პროგრამის. 32 00:01:43,610 --> 00:01:46,630 >> რათა ARGV2 - 33 00:01:46,630 --> 00:01:48,440 არ არის საკმაოდ რა ელოდება. 34 00:01:48,440 --> 00:01:50,740 მოდით გადახვევა მდე პირველი ეს შეცდომა შეტყობინებები. 35 00:01:50,740 --> 00:01:54,540 და წითელი აქ, ჩვენ ვხედავთ, შეცდომა, მინიშნებით გამოცხადების ბიბლიოთეკის ფუნქცია 36 00:01:54,540 --> 00:01:56,290 strlen ტიპი - 37 00:01:56,290 --> 00:01:57,380 oh, დაველოდოთ წუთში. 38 00:01:57,380 --> 00:02:00,340 ეს არის პირველი შემთხვევა, მე გამოიყენება strlen, და მე არ გეგმავს 39 00:02:00,340 --> 00:02:04,970 სურს ეს პირველ რიგში, მე არ არის header ფაილი, რომელიც აცხადებს, 40 00:02:04,970 --> 00:02:06,290 სიმებიანი სიგრძე ფუნქცია. 41 00:02:06,290 --> 00:02:09,419 >> ასე რომ ზედა ჩემი ფაილი, გავიხსენოთ, მაქვს cs50.h. 42 00:02:09,419 --> 00:02:11,080 მე მაქვს სტანდარტული io.h. 43 00:02:11,080 --> 00:02:14,500 მაგრამ აღმოჩნდება, და მე ვიცი ეს კითხულობს დოკუმენტაცია, რომ მე უნდა 44 00:02:14,500 --> 00:02:18,320 მესამე header ფაილი, თუ მე, მართლაც, გვინდა გამოვიყენოთ strlen ფუნქცია. 45 00:02:18,320 --> 00:02:22,760 ეს ფუნქცია განაცხადა string.h. 46 00:02:22,760 --> 00:02:25,230 >> მოდით resave ფაილი, კომპილირდება და აწარმოებს. 47 00:02:25,230 --> 00:02:32,360 48 00:02:32,360 --> 00:02:35,570 და ამ დროს, ჩვენ არა მხოლოდ იხილეთ თითოეული არგუმენტები. 49 00:02:35,570 --> 00:02:40,470 ჩვენ ნაცვლად ვხედავთ ერთმანეთს არგუმენტები ერთი ხასიათი დროს. 50 00:02:40,470 --> 00:02:43,165