[Powered by Google Translate] [Command-Line Hujah] [Christopher Bartholomew - Universiti Harvard] [Ini adalah CS50 - CS50.TV] Satu ciri yang berguna untuk program adalah untuk menerima input pengguna. Setakat ini, kita telah diterokai beberapa fungsi dalam perpustakaan CS50 untuk menerima input pengguna, seperti "mendapatkan tali," yang meminta pengguna, manakala permohonan itu sedang berjalan, untuk rentetan. Walau bagaimanapun, terdapat kes-kes di mana anda mahu untuk menyediakan input program anda sebelum ia sebenarnya berjalan. Cara ini, anda tidak perlu untuk meminta maklumat tambahan daripada pengguna anda semasa melaksanakan satu tugas yang mudah. Mengambil, sebagai contoh, mv atau perintah bergerak dalam UNIX. Arahan ini membolehkan pengguna untuk memindahkan fail dari satu lokasi ke lokasi yang lain. Menurut halaman manual, mv menerima dua hujah baris arahan: fail yang sedang bergerak dan lokasi fail sedang berpindah ke. Jadi, contoh ini mempunyai arahan dengan dua hujah. Jadi bagaimana kita memberitahu program C kami untuk menggunakan hujah-hujah baris arahan? Nah, ternyata bahawa utama, yang kita gunakan dalam semua program C, mempunyai rahsia. Main menerima dua parameter: argc dan argv. Mari kita pergi lebih syarat-syarat ini. Parameter pertama, argc, yang bermaksud kiraan hujah, mempunyai jenis data integer. Parameter argc mengandungi beberapa hujah, termasuk arahan. Dalam arahan langkah kita, walaupun kita hanya mempunyai dua hujah yang dipaparkan, nilai argc akan 3. Parameter kedua, argv, yang bermaksud hujah vektor, adalah pelbagai petunjuk char yang menunjukkan rentetan. Ini bermakna bahawa setiap elemen di argv, bermula dari sifar, mengandungi arahan dan hujah. Sebagai contoh, argv [0], yang saya akan rujuk sebagai argv sifar, akan sentiasa mengandungi arahan yang sedang berjalan - dalam kes ini, mv. argv [1] akan mengandungi hujah pertama, file.txt, dan argv [2] akan mengandungi hujah kedua, ~ / cs50 /. Hujah terakhir argv sentiasa akan batal. Jadi mari kita melaksanakan ini hujah baris arahan. Dalam latihan sebelumnya, kita diletakkan tidak sah, bermakna apa-apa, sebagai parameter utama. Walau bagaimanapun, dalam usaha untuk kita menggunakan hujah baris arahan, kita perlu membuang dalam terbatal dan tempat utama int argc, char * argv []. Sekarang, untuk mengakses keseluruhan elemen dari argv, yang hujah-hujah anda, anda hanya boleh melelar, atau gelung, melalui pelbagai seperti ini. Jadi, di dalam badan utama, kita akan pergi ke hadapan dan taip untuk gelung: (int i = 0; i . Jadi, mari kita menyusun dan menjalankan dan memberikan ia satu hujah yang sebenar. Dan, seperti yang kita boleh lihat, kita kini mempunyai lokasi sebenar char setiap individu dalam hujah. Jadi itulah ia. Saya Christopher Bartholomew; ini adalah CS50. [CS50.TV]