1
00:00:00,000 --> 00:00:00,560

2
00:00:00,560 --> 00:00:02,460
>> DAVID J. Malan: Mari kita mengambil hal-hal
satu langkah lebih lanjut, sekarang.

3
00:00:02,460 --> 00:00:05,450
Misalkan bahwa saya tidak hanya ingin
untuk mencetak semua program saya

4
00:00:05,450 --> 00:00:06,630
argumen baris perintah.

5
00:00:06,630 --> 00:00:10,490
Tapi aku, sebaliknya, ingin mencetak semua
karakter individu di setiap

6
00:00:10,490 --> 00:00:14,060
saya argumen baris perintah, satu per
line, sehingga pada saat menjalankan ini

7
00:00:14,060 --> 00:00:17,490
Program, saya hanya melihat aliran
karakter pada layar yang

8
00:00:17,490 --> 00:00:20,700
kolektif adalah dari urutan saya
dari argumen baris perintah.

9
00:00:20,700 --> 00:00:21,980
>> Nah, bagaimana saya bisa melakukan ini?

10
00:00:21,980 --> 00:00:26,540
Saya bisa tetap utuh loop saya dari sebelum
dimana saya berulang dari i sampai

11
00:00:26,540 --> 00:00:30,060
Argc untuk mengintegrasikan atas
baris perintah argumen sendiri.

12
00:00:30,060 --> 00:00:34,460
Tapi sekarang, dalam setiap iterasi yang
lingkaran, saya perlu sekarang iterate atas setiap

13
00:00:34,460 --> 00:00:38,550
karakter atau karakter
dalam string tertentu.

14
00:00:38,550 --> 00:00:40,620
Jadi untuk melakukan itu, saya perlu satu loop lagi.

15
00:00:40,620 --> 00:00:42,090
>> Mari menambahkan bahwa.

16
00:00:42,090 --> 00:00:46,890
untuk int, sebut saja j, sama dengan 0.

17
00:00:46,890 --> 00:00:49,980
Sekarang aku akan perlu mengintegrasikan
sampai panjang

18
00:00:49,980 --> 00:00:52,310
string yang saat ini di argv.

19
00:00:52,310 --> 00:00:55,910
Jadi biarkan saya memberi diriku lokal lain
variabel, kita akan menyebutnya n, dan mengatur

20
00:00:55,910 --> 00:01:00,120
yang sama dengan panjang string dari
Argumen saat ini, yang akan menjadi

21
00:01:00,120 --> 00:01:04,230
ditemukan di argv braket i titik koma.

22
00:01:04,230 --> 00:01:08,500
>> Sekarang saya iterate dari j up
sampai n diikuti oleh

23
00:01:08,500 --> 00:01:10,400
kenaikan pada setiap iterasi.

24
00:01:10,400 --> 00:01:13,850
Sekarang mari kita mencetak individu
karakter di layar.

25
00:01:13,850 --> 00:01:21,920
Printf% c kali ini diikuti oleh baru
baris, kutipan dekat, koma, dan sekarang saya

26
00:01:21,920 --> 00:01:25,565
membutuhkan karakter-j
dalam argumen-i th.

27
00:01:25,565 --> 00:01:30,240
>> Jadi untuk mendapatkan itu, saya hanya bisa
tentukan ARV braket i untuk

28
00:01:30,240 --> 00:01:32,050
mendapatkan argumen-i th.

29
00:01:32,050 --> 00:01:36,140
Dan kemudian saya dapat menyelam di satu tingkat lebih dalam
dan melakukan indeks sekunder

30
00:01:36,140 --> 00:01:40,420
braket j, kurung tutup,
koma, Simpan.

31
00:01:40,420 --> 00:01:43,610
Dan sekarang mari kita kompilasi dan
menjalankan program ini.

32
00:01:43,610 --> 00:01:46,630
>> Membuat ARGV2 -

33
00:01:46,630 --> 00:01:48,440
tidak cukup apa yang saya harapkan.

34
00:01:48,440 --> 00:01:50,740
Mari kita gulir ke atas untuk yang pertama
pesan-pesan kesalahan.

35
00:01:50,740 --> 00:01:54,540
Dan merah di sini, kita melihat kesalahan,
implisit menyatakan fungsi perpustakaan

36
00:01:54,540 --> 00:01:56,290
strlen dengan tipe -

37
00:01:56,290 --> 00:01:57,380
oh, tunggu dulu.

38
00:01:57,380 --> 00:02:00,340
Ini adalah pertama kalinya saya telah menggunakan
strlen, dan saya tidak mengantisipasi

39
00:02:00,340 --> 00:02:04,970
ingin itu pada awalnya, jadi saya tidak termasuk
file header yang menyatakan

40
00:02:04,970 --> 00:02:06,290
fungsi panjang string.

41
00:02:06,290 --> 00:02:09,419
>> Jadi di bagian atas file saya,
ingat, saya memiliki CS50.h.

42
00:02:09,419 --> 00:02:11,080
Saya memiliki io.h. standar

43
00:02:11,080 --> 00:02:14,500
Tapi ternyata, dan saya tahu ini dari
membaca dokumentasi, yang saya butuhkan

44
00:02:14,500 --> 00:02:18,320
file header ketiga jika aku, memang,
ingin menggunakan fungsi strlen.

45
00:02:18,320 --> 00:02:22,760
Fungsi yang dideklarasikan di string.h.

46
00:02:22,760 --> 00:02:25,230
>> Mari kita menyimpan lagi berkas tersebut,
kompilasi, dan menjalankan.

47
00:02:25,230 --> 00:02:32,360

48
00:02:32,360 --> 00:02:35,570
Dan kali ini, kita tidak hanya
melihat setiap argumen.

49
00:02:35,570 --> 00:02:40,470
Kami bukannya melihat setiap argumen
satu karakter pada satu waktu.

50
00:02:40,470 --> 00:02:43,165