[Powered by Google Translate] [Command-Line Arguments] [Christopher Bartholomew - Harvard University] [Ini adalah CS50 - CS50.TV] Sebuah fitur yang berguna untuk program adalah untuk menerima masukan pengguna. Sejauh ini, kami telah dieksplorasi beberapa fungsi dalam perpustakaan CS50 untuk menerima input pengguna, seperti "mendapatkan string," yang mendorong pengguna, sedangkan aplikasi berjalan, untuk string. Namun, ada kasus di mana Anda ingin memberikan masukan program anda sebelum benar-benar berjalan. Dengan cara ini, Anda tidak perlu meminta informasi tambahan dari pengguna Anda saat mengeksekusi tugas sederhana. Ambil, misalnya, mv atau perintah bergerak dalam UNIX. Perintah ini memungkinkan pengguna untuk memindahkan file dari satu lokasi ke lokasi lain. Menurut laman manual, mv menerima argumen perintah dua baris: file yang sedang dipindahkan dan lokasi file tersebut dipindahkan ke. Jadi contoh ini memiliki perintah dengan dua argumen. Jadi bagaimana kita memberitahu kami program C untuk memanfaatkan argumen baris perintah? Nah, ternyata utama, yang kita gunakan dalam semua program C, memiliki rahasia. Main menerima dua parameter: argc dan argv. Mari kita pergi ke istilah-istilah ini. Parameter pertama, argc, yang merupakan singkatan dari jumlah argumen, memiliki tipe data integer. Parameter argc berisi jumlah argumen, termasuk perintah. Dalam perintah gerakan kami, meskipun kami hanya memiliki dua argumen ditampilkan, nilai argc akan menjadi 3. Parameter kedua, argv, yang merupakan singkatan dari vektor argumen, adalah sebuah array dari pointer char yang menunjuk ke string. Ini berarti bahwa setiap elemen dalam argv, mulai dari nol, berisi perintah dan argumen. Misalnya, argv [0], yang saya akan sebut sebagai argv nol, selalu akan berisi perintah yang sedang dijalankan - dalam hal ini, mv. argv [1] akan berisi argumen pertama, file.txt, dan argv [2] akan berisi argumen kedua, ~ / cs50 /. Argumen terakhir dari argv akan selalu nol. Jadi mari kita menerapkan argumen baris perintah. Pada latihan sebelumnya, kami menempatkan batal, berarti apa-apa, sebagai parameter utama itu. Namun, dalam rangka bagi kita untuk menggunakan argumen baris perintah, kita perlu untuk menghapus dalam kekosongan dan tempat argc int main, char * argv []. Sekarang, untuk mengakses seluruh elemen dari argv, yang merupakan argumen Anda, Anda hanya dapat iterate, atau loop, melalui array seperti ini. Jadi, dalam tubuh utama, kita akan pergi ke depan dan ketik untuk loop: for (int i = 0; i . Jadi, mari kita mengkompilasi dan menjalankan dan memberikan itu sebuah argumen aktual. Dan, seperti yang kita lihat, kita sekarang memiliki lokasi yang tepat dari setiap char individu dalam argumen. Jadi itu saja. Saya Christopher Bartholomew, ini adalah CS50. [CS50.TV]