>> დევიდ ჯ Malan: ავიღოთ რამ ერთი ნაბიჯი შემდგომი, ახლა.
დავუშვათ, რომ მე არ უბრალოდ მინდა ბეჭდვა ყველა ჩემი პროგრამა
ბრძანების არგუმენტები.
მაგრამ მე, ნაცვლად, მინდა ბეჭდვა ყველა ინდივიდუალური გმირები თითოეულ
ჩემი ბრძანების არგუმენტები, ერთ ხაზი, ისე, რომ მასზე გაშვებული ამ
პროგრამა, მე უბრალოდ ვხედავ ნაკადი გმირები ეკრანზე, რომ
ერთობლივად არიან ჩემი მიმდევრობა ბრძანების ხაზი არგუმენტები.
>> ისევე, როგორ შეიძლება ამის გაკეთება?
შემიძლია შენარჩუნება ხელუხლებელი ჩემი loop წინაშე რომლის დროსაც მე განმეორებითი ეხლა i წლამდე
Argc რათა ინტეგრირება მეტი ბრძანების ხაზი არგუმენტები თავს.
მაგრამ ახლა, თითოეულ iteration რომ loop, მე უნდა ახლა iterate მეტი თითოეული
სიმბოლო ან სიმბოლო კონკრეტული სიმებიანი.
ასე რომ გავაკეთოთ, მჭირდება კიდევ ერთი მარყუჟი.
>> მოდით დაამატოთ, რომ.
განთავსების int, მოდით ეძახით j, უდრის 0.
ახლა მე ვაპირებ უნდა ინტეგრირება წლამდე ხანგრძლივობა
მიმდინარე სიმებიანი argv.
ნება მომეცით მისცეს თავს კიდევ ერთი ადგილობრივი ცვლადი, ჩვენ მოვუწოდებთ მას n, და მითითებული
რომ თანაბარი string სიგრძე მიმდინარე არგუმენტი, რომელიც იქნება
ნაპოვნი Argv bracket i მძიმით.
>> ნება მიბოძეთ ახლა iterate საწყისი j up სანამ n მოჰყვა
ნამატი ყოველ iteration.
მოდით ახლა ბეჭდვა ინდივიდუალური გმირები ეკრანზე.
Printf% c ამ დროს მოჰყვა new ხაზი, ახლო გაცემა, მძიმით, და ახლა მე
უნდა j-th ხასიათი იმ i-th არგუმენტი.
>> ასე რომ, კიდევ ერთი, რომ მე არ შემიძლია უბრალოდ მიუთითოთ ARV bracket i to
მიიღეთ i-th არგუმენტი.
და მერე შეიძლება ჩაყვინთვის ერთ დონეზე ღრმა და ნუ საშუალო მაჩვენებელი
bracket j ახლოს, ფრჩხილებში, მძიმით, შენახვა.
და მოდით ახლა კომპილირდება და აწარმოებს ამ პროგრამის.
>> რათა ARGV2 -
არ არის საკმაოდ რა ელოდება.
მოდით გადახვევა მდე პირველი ეს შეცდომა შეტყობინებები.
და წითელი აქ, ჩვენ ვხედავთ, შეცდომა, მინიშნებით გამოცხადების ბიბლიოთეკის ფუნქცია
strlen ტიპი -
oh, დაველოდოთ წუთში.
ეს არის პირველი შემთხვევა, მე გამოიყენება strlen, და მე არ გეგმავს
სურს ეს პირველ რიგში, მე არ არის header ფაილი, რომელიც აცხადებს,
სიმებიანი სიგრძე ფუნქცია.
>> ასე რომ ზედა ჩემი ფაილი, გავიხსენოთ, მაქვს cs50.h.
მე მაქვს სტანდარტული io.h.
მაგრამ აღმოჩნდება, და მე ვიცი ეს კითხულობს დოკუმენტაცია, რომ მე უნდა
მესამე header ფაილი, თუ მე, მართლაც, გვინდა გამოვიყენოთ strlen ფუნქცია.
ეს ფუნქცია განაცხადა string.h.
>> მოდით resave ფაილი, კომპილირდება და აწარმოებს.
და ამ დროს, ჩვენ არა მხოლოდ იხილეთ თითოეული არგუმენტები.
ჩვენ ნაცვლად ვხედავთ ერთმანეთს არგუმენტები ერთი ხასიათი დროს.