Argc dan Argv C++

Argc Dan Argv C



Saat menulis program C++, kita semua tahu bahwa fungsi “main()” dianggap sangat penting karena kita tidak dapat mengkompilasi program jika implementasi fungsi ini tidak ada. Sama seperti semua fungsi lain di C++, fungsi “main()” juga mampu menerima argumen. Namun, perbedaan antara meneruskan argumen ke fungsi “main()” dari meneruskan argumen ke fungsi lain adalah Anda harus meneruskan argumen melalui baris perintah pada kasus sebelumnya. Itu karena fungsi “main()” itu sendiri adalah fungsi driver yang mengapa tidak ada fungsi lain yang mampu memanggilnya dan memberikan argumen padanya. Pada artikel ini, kita akan membahas dua parameter fungsi “main()”, yaitu “argc” dan “argv” di C++ di Ubuntu 20.04.

Apa itu Argc dan Argv di C++ di Ubuntu 20.04?

Parameter 'argc' mengacu pada jumlah argumen, sedangkan 'argv' mengacu pada larik karakter yang menampung semua argumen yang diteruskan ke fungsi 'main()' melalui baris perintah pada saat menjalankan program di C++. Di sini, Anda perlu tahu bahwa 'argc' selalu menampilkan jumlah argumen sebagai '1' lebih banyak dari jumlah sebenarnya dari argumen yang diteruskan. Ini karena nama file objek juga dihitung sebagai argumen baris perintah. Anda dapat meneruskan argumen baris perintah milik tipe data apa pun ke fungsi “main()”. Yang perlu Anda perhatikan adalah bahwa parameter ini disebutkan dalam prototipe fungsi 'main()' Anda jika Anda ingin mengaksesnya di dalamnya. Namun, fungsi “main()” dapat bekerja dengan baik tanpa kedua parameter ini. Ini akan dibahas di bagian selanjutnya dari artikel ini, setelah itu kita akan melanjutkan penggunaan kedua parameter ini di C++ di Ubuntu 20.04.

Fungsi Utama tanpa Argc dan Argv di C++:

Pertama-tama, kami ingin memberi tahu Anda bahwa fungsi “main()” di C++ dapat bekerja dengan baik bahkan tanpa menggunakan parameter “argc” dan “argv”. Ini digambarkan dalam program C++ berikut:









Kami memiliki fungsi 'main ()' sederhana dalam program ini tanpa argumen apa pun. Di dalam fungsi “main()” ini, kami hanya mencetak pesan contoh di terminal.



Kemudian, kami mengkompilasi program C++ dasar ini dengan bantuan perintah yang disebutkan di bawah ini:





$ g++ CommandLine.cpp –o CommandLine

Setelah itu, kami menjalankan program ini dengan menjalankan perintah berikut:



$ . / Garis komando

Output dari program C++ sederhana ini ditunjukkan pada gambar di bawah ini:

Menjalankan Program C++ tanpa Melewati Argumen Baris Perintah apa pun:

Sekarang, kami akan mencoba mengimplementasikan program C++ di mana fungsi 'main()' mampu menerima parameter 'argc' dan 'argv', namun, kami tidak akan meneruskan argumen ini saat menjalankan program ini dari terminal. Program C++ tersebut ditunjukkan pada gambar berikut:

Dalam program C++ ini, fungsi “main()” kita mampu menerima parameter “argc” dan “argv”. Namun, karena kami tidak bermaksud meneruskan nilai-nilai ini kepadanya dalam contoh khusus ini, kami sengaja menyamakan 'argc' menjadi '0' sehingga ketika kami mencoba untuk mencetak nilainya, itu tidak akan mengembalikan nilai sampah apa pun. Setelah itu, kami mencetak nilai parameter 'argc' di terminal. Kemudian, kami menggunakan loop 'untuk' untuk mencetak semua argumen baris perintah di terminal.

Kami telah menyusun kode ini menggunakan perintah yang ditunjukkan di bawah ini:

$ g++ CommandLine.cpp –o CommandLine

Kemudian, ketika kami ingin menjalankan program ini, kami tidak memberikan argumen baris perintah apa pun padanya, seperti yang dapat Anda lihat dari perintah berikut:

$ . / Garis komando

Dari output program C++ yang ditunjukkan pada gambar di bawah ini, Anda dapat melihat bahwa tidak ada argumen baris perintah yang diteruskan ke fungsi ini karena jumlah argumennya adalah '0' dan tidak ada argumen yang dicetak pada terminal karena larik karakter ' argv” juga kosong.

Menjalankan Program C++ dengan Argumen Baris Perintah Tipe Integer:

Sekarang, kami ingin menjalankan program C++ yang sama dengan meneruskan argumen baris perintah tipe integer ke program tersebut. Namun, sebelum melakukan itu, kami akan sedikit memodifikasi kode kami seperti yang ditunjukkan pada gambar berikut:

Satu-satunya modifikasi yang kami buat pada kode ini adalah kami telah menghapus baris 'argc=0' darinya karena dalam contoh ini, kami ingin mencetak jumlah sebenarnya dari argumen baris perintah yang diteruskan ke program ini saat dijalankan. Kode lainnya persis sama seperti yang digunakan pada bagian di atas.

Kami mengkompilasi ulang kode kami yang dimodifikasi menggunakan perintah yang ditunjukkan di bawah ini:

$ g++ CommandLine.cpp –o CommandLine

Kemudian, untuk mengeksekusi kode ini, kami menggunakan argumen baris perintah berikut:

$ . / Garis komando 1 dua 3

Ini berarti bahwa kami telah mengirimkan tiga argumen baris perintah tipe integer ke program C++ ini saat menjalankannya, yaitu, 1, 2, dan 3.

Output dari program yang dimodifikasi ini ditunjukkan pada gambar di bawah ini:

Jumlah total argumen yang dikembalikan oleh program C++ ini adalah “4” yaitu, tiga argumen bilangan bulat yang telah kita berikan + nama file objek. Program ini juga mencetak elemen larik karakter “argv” pada terminal, yaitu, argumen tipe bilangan bulat aktual yang diteruskan ke program ini pada saat eksekusi, bersama dengan nama programnya.

Menjalankan Program C++ dengan Argumen Baris Perintah Tipe Karakter:

Sekarang, kami ingin melihat apakah program C++ yang sama berfungsi dengan baik ketika kami mencoba menjalankannya dengan meneruskan argumen baris perintah tipe karakter ke program tersebut. Untuk itu, kita tidak perlu memodifikasinya lebih jauh. Kami hanya perlu menjalankannya dengan argumen baris perintah tipe karakter sebagai berikut:

$ . / Baris Perintah a b c d e f

Ini berarti bahwa kita telah meneruskan argumen baris perintah bertipe enam karakter ke program C++ ini saat menjalankannya, yaitu, a, b, c, d, e, dan f.

Keluaran yang dihasilkan sebagai hasil dari meneruskan argumen baris perintah tipe karakter ke program C++ yang sama ditunjukkan di bawah ini:

Jumlah total argumen yang dikembalikan oleh program C++ ini adalah “7” yaitu, argumen enam karakter yang telah kita berikan + nama file objek. Program ini juga mencetak elemen larik karakter “argv” di terminal, yaitu, argumen tipe karakter aktual yang diteruskan ke program ini pada saat eksekusi, bersama dengan nama programnya.

Kesimpulan:

Artikel ini ditujukan untuk membahas dua argumen baris perintah, yang juga dikenal sebagai parameter fungsi 'main()', yaitu 'argc' dan 'argv'. Kami berbicara tentang pentingnya kedua parameter ini dengan menyatakan penggunaannya. Kemudian, kami membagikan beberapa contoh kepada Anda yang menggambarkan penggunaan 'argc' dan 'argv' di C++ di Ubuntu 20.04. Selain itu, kami juga mengklarifikasi bahwa bahkan tanpa menggunakan parameter ini, fungsi “main()” dapat bekerja dengan baik. Oleh karena itu, setelah Anda membaca artikel ini, Anda akan memahami penggunaan 'argc' dan 'argv' dengan sangat jelas di C++.