>> DAVID J. Malan: Mari kita mengambil hal-hal satu langkah lebih lanjut, sekarang.
Misalkan bahwa saya tidak hanya ingin untuk mencetak semua program saya
argumen baris perintah.
Tapi aku, sebaliknya, ingin mencetak semua karakter individu di setiap
saya argumen baris perintah, satu per line, sehingga pada saat menjalankan ini
Program, saya hanya melihat aliran karakter pada layar yang
kolektif adalah dari urutan saya dari argumen baris perintah.
>> Nah, bagaimana saya bisa melakukan ini?
Saya bisa tetap utuh loop saya dari sebelum dimana saya berulang dari i sampai
Argc untuk mengintegrasikan atas baris perintah argumen sendiri.
Tapi sekarang, dalam setiap iterasi yang lingkaran, saya perlu sekarang iterate atas setiap
karakter atau karakter dalam string tertentu.
Jadi untuk melakukan itu, saya perlu satu loop lagi.
>> Mari menambahkan bahwa.
untuk int, sebut saja j, sama dengan 0.
Sekarang aku akan perlu mengintegrasikan sampai panjang
string yang saat ini di argv.
Jadi biarkan saya memberi diriku lokal lain variabel, kita akan menyebutnya n, dan mengatur
yang sama dengan panjang string dari Argumen saat ini, yang akan menjadi
ditemukan di argv braket i titik koma.
>> Sekarang saya iterate dari j up sampai n diikuti oleh
kenaikan pada setiap iterasi.
Sekarang mari kita mencetak individu karakter di layar.
Printf% c kali ini diikuti oleh baru baris, kutipan dekat, koma, dan sekarang saya
membutuhkan karakter-j dalam argumen-i th.
>> Jadi untuk mendapatkan itu, saya hanya bisa tentukan ARV braket i untuk
mendapatkan argumen-i th.
Dan kemudian saya dapat menyelam di satu tingkat lebih dalam dan melakukan indeks sekunder
braket j, kurung tutup, koma, Simpan.
Dan sekarang mari kita kompilasi dan menjalankan program ini.
>> Membuat ARGV2 -
tidak cukup apa yang saya harapkan.
Mari kita gulir ke atas untuk yang pertama pesan-pesan kesalahan.
Dan merah di sini, kita melihat kesalahan, implisit menyatakan fungsi perpustakaan
strlen dengan tipe -
oh, tunggu dulu.
Ini adalah pertama kalinya saya telah menggunakan strlen, dan saya tidak mengantisipasi
ingin itu pada awalnya, jadi saya tidak termasuk file header yang menyatakan
fungsi panjang string.
>> Jadi di bagian atas file saya, ingat, saya memiliki CS50.h.
Saya memiliki io.h. standar
Tapi ternyata, dan saya tahu ini dari membaca dokumentasi, yang saya butuhkan
file header ketiga jika aku, memang, ingin menggunakan fungsi strlen.
Fungsi yang dideklarasikan di string.h.
>> Mari kita menyimpan lagi berkas tersebut, kompilasi, dan menjalankan.
Dan kali ini, kita tidak hanya melihat setiap argumen.
Kami bukannya melihat setiap argumen satu karakter pada satu waktu.